我正在开发一个从相机对象拍摄照片并将其保存到SD卡的应用程序。除了一些东西之外,它的效果很好。(我无法配置一些参数,例如分辨率)。但是当我拍照时它会在屏幕上冻结。我只是想在拍照后恢复预览并采集相同的方式。这是完整的代码: http://bahacanaydin.blogspot.com/2012/05/package-com.html
答案 0 :(得分:12)
您必须将mCamera.startPreview();
放入onPictureTaken()
功能中再次重新开始预览,因为它会在拍摄照片时自动停止。
答案 1 :(得分:3)
也许这会有所帮助。来自Android SDK documentation on takePicture():
调用此方法后,在返回JPEG回调之前,不得调用startPreview()或拍摄另一张照片。
根据我的理解,JPEG回调是onPictureTaken()的实现。所以你应该把你的电话推迟到startPreview。
答案 2 :(得分: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);