【发布时间】:2014-06-11 09:53:20
【问题描述】:
我在 Moto E 上运行摄像头时遇到问题。在其他设备上我的代码运行良好,但在 Moto E 上却不行。这可能是因为 Moto E 没有闪光灯或辅助摄像头。
private synchronized void startCameraPreview() {
try {
previewView.getHolder().addCallback(this);
previewView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
camera.setPreviewCallback(null);
camera.setPreviewDisplay(surfaceHolder);
camera.startPreview();
}
catch (Exception exception) {
Log.e(TAG, "Can't start camera preview due to Exception", exception);
listener.onCameraError();
}
}
这给出了下面粘贴的错误:
Can't start camera preview due to Exception
java.io.IOException: setPreviewTexture failed
at android.hardware.Camera.setPreviewDisplay(Native Method)
at android.hardware.Camera.setPreviewDisplay(Camera.java:474)
at CameraFragment.startCameraPreview(CameraFragment.java:149)
at CameraFragment.surfaceCreated(CameraFragment.java:472)
at android.view.SurfaceView.updateWindow(SurfaceView.java:572)
at android.view.SurfaceView.access$000(SurfaceView.java:86)
如果有人知道如何处理这个问题?
【问题讨论】:
-
stackoverflow.com/questions/7942378/… 看看这个,可能对你有帮助
-
感谢您的回复。我已经尝试过dis。但没有运气。
-
它是否有用?我认为你忘了告诉我的那件事
-
我通过使用 camera.stopPreview(); 解决了这个错误;就在 camera.setPreviewDisplay() 之前。希望这对其他人有用。 :)
-
camera.stopPreview();是的@Nidhi,它解决了两个问题很有用:1.相机预览已停止,现在可以正常工作了。 2. setPreviewTexture 失败异常。