【发布时间】:2011-02-21 14:49:09
【问题描述】:
我在我的相机对象上调用 takePicture(),同时显示使用 SurfaceView 拍摄的内容的预览。我希望能够调用 takePicture() 而不会因为刚刚拍摄的快照而冻结预览屏幕。如何禁用此功能并保持预览在后台运行?
【问题讨论】:
标签: android camera preview android-camera
我在我的相机对象上调用 takePicture(),同时显示使用 SurfaceView 拍摄的内容的预览。我希望能够调用 takePicture() 而不会因为刚刚拍摄的快照而冻结预览屏幕。如何禁用此功能并保持预览在后台运行?
【问题讨论】:
标签: android camera preview android-camera
我希望能够调用 takePicture(),而不会因为刚刚拍摄的快照而冻结预览屏幕。如何禁用此功能并保持预览在后台运行?
你没有。当设备从 CCD 读取数据并转换为 JPEG 时,SurfaceView 预览不会更新。
【讨论】:
onPictureTaken() 中,调用startPreview()。这是一个演示在重新启动预览时保存图像的项目,通过AsyncTask:github.com/commonsguy/cw-advandroid/tree/master/Camera/Picture
(new AsyncTask<byte[], String, String>() {
@Override
protected String doInBackground(byte[]... params) {
savePictureToSDCard(params[0]);
return null;
}
}).execute(imageData);
【讨论】: