我注意到在我的崩溃记者中,我在一些带有堆栈跟踪的设备上遇到了几次崩溃:
Fatal Exception: java.lang.RuntimeException: takePicture failed, error=-38
at android.hardware.Camera.native_takePicture(Camera.java)
at android.hardware.Camera.takePicture(Camera.java:1728)
at android.hardware.Camera.takePicture(Camera.java:1661)
我知道这是一个常见的错误,它可能有很多原因,但这是我第一次有错误号码。我在哪里可以找到这些错误编号及其含义的列表?
在我的情况下,我可能有很多原因,我试图拍照没有预览(隐藏的照片),我正在使用SurfaceView
,所以我用它替换它
SurfaceTexture surfaceTexture = new SurfaceTexture(10);
camera.setPreviewTexture(surfaceTexture);
问题解决了...... P.S我只在6.0以上的设备上收到此错误
我刚刚在Camera.java
文件中找到了错误列表:
private static final int NO_ERROR = 0;
private static final int EACCESS = -13;
private static final int ENODEV = -19;
private static final int EBUSY = -16;
private static final int EINVAL = -22;
private static final int ENOSYS = -38;
private static final int EUSERS = -87;
private static final int EOPNOTSUPP = -95;
这篇文章也与我的问题有关:MediaRecorder start error codes
虽然不是很有用..