拍摄一张照片后,Android相机冻结

| 我正在用相机做一个项目,在拍摄完一张照片后,相机冻结了,您必须完成该活动并再次调用它才能拍摄另一张照片,如何冻结照片仅1-2秒,然后进行表面观察再次拍照。与我使用媒体记录器的视频相同,按视频按钮停止视频保存,并且屏幕仍然有效,但是我不能再次拍摄视频我必须重新启动活动吗? 有人有解决办法吗?     
已邀请:
在背景
AsyncTask
中进行任何图像处理。这将允许您的UI活动继续并拍摄另一张照片。 编辑:我无法删除一个可接受的答案,因此请在下面查看stoefin的答案。在拍下张照片之前叫
camera.startPreview()
对他有效。     
我找到了解决方案:拍照后,预览显示将停止。要拍摄更多照片,请先再次致电ѭ1。     
捕获图像后,您应该停止预览并重新开始。
mCamera.stopPreview();
mCamera.startPreview();
会很好的。     
camera.startpreview();答案对我的情况不起作用,但是下面的代码对我来说解决了这个问题,希望对其他人也有所帮助。我使用了一个线程,在照片被500ms捕获后延迟了相机的关闭和打开。
 private void start_camera() {
     try {
         camera = Camera.open();
         // camera.lock();
     } catch (RuntimeException e) {
         Log.e(tag, \"init_camera: \" + e);
         return;
     }
     Camera.Parameters param = camera.getParameters();
     param = camera.getParameters();
     Camera.Size size = param.getSupportedPreviewSizes().get(0);
     param.setPreviewSize(size.width, size.height);
     camera.setParameters(param);
     try {
         camera.setPreviewDisplay(surfaceHolder);
         camera.startPreview();
         previewRunning = true;
     } catch (Exception e) {
         Log.e(tag, \"init_camera: \" + e);
         return;
     }}
 private void captureImage() {
     camera.takePicture(shutterCallback,null,jpegCallback);
     Thread restart_preview=new Thread(){public void run(){
         try {
             Thread.sleep(500);
         } catch (InterruptedException e) {
             e.printStackTrace();
         }

         camera.release();
         camera=null;
         start_camera();
     }};
     restart_preview.start();}
    
您可以编写自己的直接使用Camera API来完成您描述的功能的Activity,而不必使用电话上现有的Camera应用程序定义的活动。 Camera类记录在这里:http://developer.android.com/reference/android/hardware/Camera.html     
相机冻结,因为您没有重新启动相机的预览,因此请致电ѭ5重启相机     

要回复问题请先登录注册