Example #1
0
  @Override
  public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
    // If your preview can change or rotate, take care of those events here.
    // Make sure to stop the preview before resizing or reformatting it.
    Log.d(TAG, "surfaceChanged, w:" + w + ", h:" + h);
    mCameraEngine.stopPreview(false);
    startPreview();
    // stop preview before making changes
    /*try {
                mCamera.stopPreview();
            } catch (Exception e){
              // ignore: tried to stop a non-existent preview
            }

            // set preview size and make any resize, rotate or
            // reformatting changes here

            // start preview with new settings
            try {
                mCamera.setPreviewDisplay(mHolder);
                mCamera.setDisplayOrientation(90);
                mCamera.setPreviewCallback(new PreviewCallback() {

                    @Override
                    public void onPreviewFrame(byte[] arg0, Camera arg1) {
    //                    Log.d(TAG, "onPreviewFrame, size:" + arg0.length);

                        if (arg0 == null || arg0.length == 0) {
                            return;
                        }
                        long now = System.currentTimeMillis();
                        if (now - lastTime < 40) {
                            return;
                        }
                        lastTime = now;


                        Camera.Parameters params = mCamera.getParameters();
                        if (params.getPreviewFormat() == ImageFormat.NV21) {
                            new ImageTask(params.getPreviewSize().width, params.getPreviewSize().height, frameCount++).execute(arg0);
                        } else {
                            Log.v(TAG,"NOT THE RIGHT FORMAT");
                        }
                    }
                });

                mCamera.startPreview();

            } catch (Exception e){
                Log.d(TAG, "Error starting camera preview: " + e.getMessage());
            }*/
  }
Example #2
0
 @Override
 public void surfaceCreated(SurfaceHolder holder) {
   // The Surface has been created, now tell the camera where to draw the preview.
   /*try {
       mCamera.setPreviewDisplay(holder);
       mCamera.startPreview();
   } catch (IOException e) {
       Log.d(TAG, "Error setting camera preview: " + e.getMessage());
   }*/
   //        startPreview();
   mCameraEngine.openCamAsync();
   Log.d(TAG, "surfaceCreated");
 }
Example #3
0
 public void startPreview() {
   if (mHolder.getSurface() == null) {
     // preview surface does not exist
     return;
   }
   mCameraEngine.startPreview(
       mHolder,
       new PreviewCallback() {
         @Override
         public void onPreviewFrame(byte[] data, Camera camera) {
           if (mOnPreviewCallback != null) {
             mOnPreviewCallback.onPreviewFrame(data);
           }
         }
       });
 }
Example #4
0
 @Override
 public void surfaceDestroyed(SurfaceHolder holder) {
   // empty. Take care of releasing the Camera preview in your activity.
   Log.d(TAG, "surfaceDestroyed");
   mCameraEngine.stopPreview(true);
 }