如何在 onPictureTaken 函数后恢复 Android 相机预览?

7
我正在开发一款应用程序,它可以从相机对象中拍摄照片并将其保存到SD卡中。除了某些问题(例如我无法配置一些参数,比如分辨率)之外,它的工作效果非常好。但是当我拍照时,屏幕会冻结。我只想在拍完照后恢复预览并以同样的方式进行捕捉。以下是完整代码: http://bahacanaydin.blogspot.com/2012/05/package-com.html
3个回答

13
你需要将 mCamera.startPreview(); 放入你的onPictureTaken()函数中重新启动预览,因为拍照后它会自动停止。

没错。当我在onPictureTaken()函数中定位mCamera.startPreview();时,预览会重新开始,但我无法再次捕获,程序会强制关闭。 - baha

3
也许这可以帮到你。来自Android SDK有关takePicture()的文档
调用此方法后,必须在JPEG回调返回之前不要调用startPreview()或拍摄另一张照片。
根据我的理解,JPEG回调是onPictureTaken()的实现。所以你应该推迟调用startPreview。

0
mCamera.takePicture(null, null, mPicture);
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 1000ms
       mCamera.startPreview();
           }
     }, 1000);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接