预览回调问题

我正在做一个使用相机的Android应用程序。 我正在使用facedetection侦听器并且运行正常,但是当我尝试添加预览回调来执行某些进程任务时,面部检测会停止运行。

为什么??

这是我的代码:

@Override public void surfaceCreated(SurfaceHolder holder) { mCamera = StartCapture(); mCamera.setPreviewCallback(framesCallback); mCamera.setFaceDetectionListener(faceDetectionListener); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { if (mCamera != null) { try { mCamera.setPreviewDisplay(holder); mCamera.startPreview(); mCamera.startFaceDetection(); } catch (IOException e) { e.printStackTrace(); } } } @Override public void surfaceDestroyed(SurfaceHolder holder) { mCamera.stopFaceDetection(); mCamera.stopPreview(); mCamera.release(); mCamera = null; } 

这是我使用它们时产生的logcat:

 02-11 14:35:14.376: E/mm-camera-img(197): FACEPROC_Detection returned error: -3 02-11 14:35:14.376: E/mm-camera-img(197): face_proc_thread_loop:466] frameproc exec error -1 02-11 14:35:14.510: E/mm-camera-img(197): FACEPROC_Detection returned error: -3 02-11 14:35:14.510: E/mm-camera-img(197): face_proc_thread_loop:466] frameproc exec error -1 02-11 14:35:14.643: E/mm-camera-img(197): FACEPROC_Detection returned error: -3 02-11 14:35:14.643: E/mm-camera-img(197): face_proc_thread_loop:466] frameproc exec error -1 

回答已经太迟了,但我遇到了同样的情况。 将setPreviewCallback()的位置移动到startFaceDetection()之后,它可以工作。