@Override public void surfaceDestroyed(SurfaceHolder holder) { Log.i(TAG, "surfaceDestroyed"); mCamera.setPreviewCallback(null); mCamera.stopPreview(); mCamera.release(); }
@Test public void testClearPreviewCallback() throws Exception { TestPreviewCallback callback = new TestPreviewCallback(); assertThat(callback.camera).isNull(); assertThat(callback.data).isNull(); camera.setPreviewCallback(callback); camera.setPreviewCallback(null); shadowCamera.invokePreviewCallback("foobar".getBytes(UTF_8)); assertThat(callback.camera).isNull(); assertThat(callback.data).isNull(); camera.setOneShotPreviewCallback(callback); camera.setOneShotPreviewCallback(null); shadowCamera.invokePreviewCallback("foobar".getBytes(UTF_8)); assertThat(callback.camera).isNull(); assertThat(callback.data).isNull(); camera.setPreviewCallbackWithBuffer(callback); camera.setPreviewCallbackWithBuffer(null); shadowCamera.invokePreviewCallback("foobar".getBytes(UTF_8)); assertThat(callback.camera).isNull(); assertThat(callback.data).isNull(); }
public void onPreviewFrame(byte[] data, Camera camera) { Point cameraResolution = configManager.getCameraResolution(); if (!useOneShotPreviewCallback) { camera.setPreviewCallback(null); } if (previewHandler != null) { Message message = previewHandler.obtainMessage(previewMessage, cameraResolution.x, cameraResolution.y, data); message.sendToTarget(); previewHandler = null; } else { Log.d(TAG, "Got preview callback, but no handler for it"); } }
public void onPreviewFrame(byte[] data, Camera camera) { Point cameraResolution = configManager.getCameraResolution(); if (!useOneShotPreviewCallback) { camera.setPreviewCallback(null); } if (previewHandler != null) { Message message = previewHandler.obtainMessage(previewMessage, cameraResolution.x, cameraResolution.y, data); message.sendToTarget(); previewHandler = null; } else { Log.d(TAG, "Got preview callback, but no handler for it"); } }
public void onPreviewFrame(byte[] data, Camera camera) { Point cameraResolution = configManager.getCameraResolution(); if (!useOneShotPreviewCallback) { camera.setPreviewCallback(null); } if (previewHandler != null) { Message message = previewHandler.obtainMessage(previewMessage, cameraResolution.x, cameraResolution.y, data); message.sendToTarget(); previewHandler = null; } else { Log.d(TAG, "Got preview callback, but no handler for it"); } }
private void switchCamera() throws IOException { mCamera.setPreviewCallback(null); mCamera.stopPreview(); mCamera.release(); if (currentCameraType == FRONT) { mCamera = openCamera(BACK); } else if (currentCameraType == BACK) { mCamera = openCamera(FRONT); } initCamera(mSurfaceHolder); }
/** * Tells the camera to stop drawing preview frames. */ public void stopPreview() { if (camera != null && previewing) { if (!useOneShotPreviewCallback) { camera.setPreviewCallback(null); } camera.stopPreview(); previewCallback.setHandler(null, 0); autoFocusCallback.setHandler(null, 0); previewing = false; } }
private void switchCamera() throws IOException { pushCamera.setPreviewCallback(null); pushCamera.stopPreview(); pushCamera.release(); if( pushCurrentCameraType == FRONT){ pushCamera = openCamera(BACK); }else if(pushCurrentCameraType == BACK){ pushCamera = openCamera(FRONT); } initPushCamera(pushSurfaceHolder); }
/** * Tells the camera to stop drawing preview frames. */ public void stopPreview() { if (camera != null && previewing) { if (!useOneShotPreviewCallback) { camera.setPreviewCallback(null); } camera.stopPreview(); previewCallback.setHandler(null, 0); autoFocusCallback.setHandler(null, 0); previewing = false; } }
/** * Tells the camera to stop drawing preview frames. */ public void stopPreview() { if (camera != null && previewing) { if (!useOneShotPreviewCallback) { camera.setPreviewCallback(null); } camera.stopPreview(); previewCallback.setHandler(null, 0); autoFocusCallback.setHandler(null, 0); previewing = false; } }
@Override public void run() { int[] textures = new int[1]; GLES20.glGenTextures(1, textures, 0); surfaceTexture = new SurfaceTexture(textures[0]); try { camera.setPreviewTexture(surfaceTexture); camera.setPreviewCallback(GPUImageRenderer.this); camera.startPreview(); } catch (IOException e) { e.printStackTrace(); } } });
public synchronized void stopPreview() { if(mState != State.PREVIEW) { return; } if(mCameraDevice == null) { return; } mCameraDevice.setPreviewCallback(null); Camera.Parameters cameraParameters = mCameraDevice.getParameters(); if (cameraParameters != null && cameraParameters.getFlashMode() != null && !cameraParameters.getFlashMode().equals(Camera.Parameters.FLASH_MODE_OFF)) { cameraParameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); } mCameraDevice.setParameters(cameraParameters); mCameraDevice.stopPreview(); mState = State.OPENED; }
/** * A single preview frame will be returned to the handler supplied. The data will arrive as byte[] * in the message.obj field, with width and height encoded as message.arg1 and message.arg2, * respectively. * * @param handler The handler to send the message to. * @param message The what field of the message to be sent. */ public void requestPreviewFrame(Handler handler, int message) { if (camera != null && previewing) { previewCallback.setHandler(handler, message); if (useOneShotPreviewCallback) { camera.setOneShotPreviewCallback(previewCallback); } else { camera.setPreviewCallback(previewCallback); } } }
/** * A single preview frame will be returned to the handler supplied. The data will arrive as byte[] * in the message.obj field, with width and height encoded as message.arg1 and message.arg2, * respectively. * * @param handler The handler to send the message to. * @param message The what field of the message to be sent. */ public void requestPreviewFrame(Handler handler, int message) { if (camera != null && previewing) { previewCallback.setHandler(handler, message); if (useOneShotPreviewCallback) { camera.setOneShotPreviewCallback(previewCallback); } else { camera.setPreviewCallback(previewCallback); } } }
/** * A single preview frame will be returned to the handler supplied. The data will arrive as byte[] * in the message.obj field, with width and height encoded as message.arg1 and message.arg2, * respectively. * * @param handler The handler to send the message to. * @param message The what field of the message to be sent. */ public void requestPreviewFrame(Handler handler, int message) { if (camera != null && previewing) { previewCallback.setHandler(handler, message); if (useOneShotPreviewCallback) { camera.setOneShotPreviewCallback(previewCallback); } else { camera.setPreviewCallback(previewCallback); } } }
@Test public void testSetPreviewCallbacks() throws Exception { TestPreviewCallback callback = new TestPreviewCallback(); assertThat(callback.camera).isNull(); assertThat(callback.data).isNull(); camera.setPreviewCallback(callback); shadowCamera.invokePreviewCallback("foobar".getBytes(UTF_8)); assertThat(callback.camera).isSameAs(camera); assertThat(callback.data).isEqualTo("foobar".getBytes(UTF_8)); }
@Override public void surfaceDestroyed(SurfaceHolder holder) { hasSurface = false; if (camera != null) { if (camera != null && CameraManager.get().isPreviewing()) { if (!CameraManager.get().isUseOneShotPreviewCallback()) { camera.setPreviewCallback(null); } camera.stopPreview(); CameraManager.get().getPreviewCallback().setHandler(null, 0); CameraManager.get().getAutoFocusCallback().setHandler(null, 0); CameraManager.get().setPreviewing(false); } } }
public void setOnPreviewFrameCallback(final IAiyaCamera.PreviewFrameCallback callback) { if(mCamera!=null){ mCamera.setPreviewCallback(new Camera.PreviewCallback() { @Override public void onPreviewFrame(byte[] data, Camera camera) { callback.onPreviewFrame(data,mPreSize.x,mPreSize.y); } }); } }
@Override public void setOnPreviewFrameCallback(final PreviewFrameCallback callback) { if(mCamera!=null){ mCamera.setPreviewCallback(new Camera.PreviewCallback() { @Override public void onPreviewFrame(byte[] data, Camera camera) { callback.onPreviewFrame(data,mPreSize.x,mPreSize.y); } }); } }
public void surfaceChanged(SurfaceHolder holder,int format, int width,int height) { camera.setPreviewCallback(new PreviewCallback() { public void onPreviewFrame(byte[] data, Camera camera) { Camera.Parameters parameters = camera.getParameters(); int width = parameters.getPreviewSize().width; int height = parameters.getPreviewSize().height; ByteArrayOutputStream outstr = new ByteArrayOutputStream(); Rect rect = new Rect(0, 0, width, height); YuvImage yuvimage=new YuvImage(data,ImageFormat.NV21,width,height,null); yuvimage.compressToJpeg(rect, 100, outstr); Bitmap bmp = BitmapFactory.decodeByteArray(outstr.toByteArray(), 0, outstr.size()); } } }