如何在不拍摄Android照片的情况下停止相机预览

时间:2014-08-13 03:45:05

标签: android camera preview

我已将FrameLayout设置为我相机的预览屏幕,效果很好。

private void fireUpCamera() {
    mCamera = getCameraInstance();  // Create an instance of Camera
    // Create our Preview view and set it as the content of our activity.
    mPreview = new CameraPreview(this, mCamera);// Create our Preview view.
    FrameLayout preview = (FrameLayout) findViewById(R.id.quest_image);
    preview.addView(mPreview);
}

如何在取消按钮的情况下在取消按钮中发布此预览和相机?

2 个答案:

答案 0 :(得分:2)

尝试以下功能以确保在取消时释放了相机。如果您想再次使用它,则需要使用fireUpCamera()方法重新初始化它。

protected void closeCameraAndPreview() {    
    if (mCamera != null) {
        mCamera .stopPreview();
        mCamera .setPreviewCallback(null);
        mPreview.getHolder().removeCallback(mPreview);
        mCamera .release();
        mCamera = null;
    }
    preview.removeView(mPreview);
}

我以这种方式实现它,以便相机被正确释放而不是仅仅隐藏在视线之外。

答案 1 :(得分:0)

如果您要从名为mPreview的{​​{1}}中移除FrameLayout视图,您只需从布局中移除视图,如下所示:

preview