2014-05-05 58 views
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) { 
      // ... 
     } 
    } 
} 
+0

我在相機之間切換,我認爲我需要在成功的'stopPreview()'和'startPreview()'之間調用'release()'。 – shkschneider

+0

Nop,在某些設備上會導致'AndroidRuntime:FATAL EXCEPTION:main'。 – shkschneider

+0

我也看到了這個,相同的設備和Android版本。通過在'mCamera.startPreview'之前調用'mCamera.setPreviewDisplay'來修復它# –

回答

1

正如我指出的那樣,這個錯誤似乎只發生在極限摩托,似乎是具體到某些使用情況。

它只是不時發生在運行Android 4.4.2的此設備上。

對我來說,這只是一個特定的/太局部的錯誤。

已關閉。