我有一个相机应用程序,允许用户拍照。在我的主屏幕上,我使用SurfaceView渲染了一个相机。当用户拍照时,我调用camera.autoFocus并在AutoFocusCallback回调中调用camera.takePicture。然后我保存照片并转到另一个活动以预览照片。当离开相机页面(onPause)时,我调用camera.stopPreview(),当返回时(onResume)调用camera.startPreview()。
相机是使用FOCUS_MODE_CONTINUOUS_PICTURE初始化的。当再次返回相机页面时,我不会回收相机(因为这是一个需要大约2秒钟的缓慢操作),而只会在相机已经初始化过的情况下调用startPreview。
这里是我的问题。在拍摄第一张照片之前,连续自动对焦很好用,因为最初在相机上设置了FOCUS_MODE_CONTINUOUS_PICTURE。但是,在调用camera.autoFocus之后,FOCUS_MODE_CONTINUOUS_PICTURE停止工作。稍后当我返回到相同的屏幕并调用startPreview时,连续自动对焦不再起作用。
有没有办法重新启动连续自动对焦,而无需重新启动相机?我想避免重新启动相机,因为这会导致用户几秒钟的延迟。
相机是使用FOCUS_MODE_CONTINUOUS_PICTURE初始化的。当再次返回相机页面时,我不会回收相机(因为这是一个需要大约2秒钟的缓慢操作),而只会在相机已经初始化过的情况下调用startPreview。
这里是我的问题。在拍摄第一张照片之前,连续自动对焦很好用,因为最初在相机上设置了FOCUS_MODE_CONTINUOUS_PICTURE。但是,在调用camera.autoFocus之后,FOCUS_MODE_CONTINUOUS_PICTURE停止工作。稍后当我返回到相同的屏幕并调用startPreview时,连续自动对焦不再起作用。
有没有办法重新启动连续自动对焦,而无需重新启动相机?我想避免重新启动相机,因为这会导致用户几秒钟的延迟。