Nid*_*dhi 4 android android-camera
我在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();
}
}
Run Code Online (Sandbox Code Playgroud)
这会给出以下粘贴的错误:
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)
Run Code Online (Sandbox Code Playgroud)
如果有人知道如何处理这个问题?
我通过使用camera.stopPreview()解决了这个错误; 就在camera.setPreviewDisplay()之前.希望这对其他人有用.
只是记录Nidhi的解决方案,作为那些没有阅读评论的人的答案.
但问题的根源仍然让我无法理解.我试着camera.stopPreview以及camera.release在onPause()(因为我正在崩溃的摄像机继续进行后),但显然没有奏效,直到我试图上述方案.