7
我剛剛在Android應用程序中加載相機對象時出現相機「Error 5001」錯誤。Android相機錯誤5001
E/Camera: Error 5001
我甚至不能用「home」按鈕退出應用程序,它會凍結90秒。 我找不到有關該錯誤的任何文檔。
5001是什麼意思?
90秒鐘後,該logcat的日誌:
W/CameraBase: Camera service died!
現在我不能運行應用程序正常運行。 屏幕呈綠色並且無法加載相機。
重新引導固定的攝像頭的問題,但我想知道:
- 究竟發生了什麼
- 如何避免
該設備是一個極限摩托與股票Android 4.4.2。
謝謝你的任何信息。
編輯
public final class BarcodePreview extends SurfaceView implements SurfaceHolder.Callback {
private Activity mActivity;
private SurfaceHolder mSurfaceHolder;
private Camera mCamera;
private PreviewCallback mPreviewCallback;
private AutoFocusCallback mAutoFocusCallback;
public BarcodePreview(final Activity activity, final Camera camera, final PreviewCallback previewCallback, final AutoFocusCallback autoFocusCallback) throws Exception {
super(activity);
mActivity = activity;
mCamera = camera;
mPreviewCallback = previewCallback;
mAutoFocusCallback = autoFocusCallback;
mSurfaceHolder = getHolder();
if (mSurfaceHolder == null) {
// ...
}
mSurfaceHolder.addCallback(this);
}
@Override
public void surfaceCreated(final SurfaceHolder surfaceHolder) {
try {
mCamera.setPreviewDisplay(surfaceHolder);
}
catch (Exception e) {
// ...
}
}
@Override
public void surfaceDestroyed(final SurfaceHolder surfaceHolder) {
// ...
}
@Override
public void surfaceChanged(final SurfaceHolder surfaceHolder, final int format, final int width, final int height) {
if (mSurfaceHolder.getSurface() == null) {
// ...
return ;
}
try {
mCamera.stopPreview();
// ...
mCamera.setPreviewDisplay(mSurfaceHolder);
mCamera.setPreviewCallback(mPreviewCallback);
mCamera.startPreview();
mCamera.autoFocus(mAutoFocusCallback);
}
catch (Exception e) {
// ...
}
}
}
我在相機之間切換,我認爲我需要在成功的'stopPreview()'和'startPreview()'之間調用'release()'。 – shkschneider
Nop,在某些設備上會導致'AndroidRuntime:FATAL EXCEPTION:main'。 – shkschneider
我也看到了這個,相同的設備和Android版本。通過在'mCamera.startPreview'之前調用'mCamera.setPreviewDisplay'來修復它# –