takePicture失败,错误= -38

时间:2016-09-19 09:10:11

标签: android android-camera

我注意到在我的崩溃记者中,我在一些带有堆栈跟踪的设备上发生了几次崩溃:

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)

我知道这是一个常见的错误,它可能有很多原因,但它是我第一次有错误号码之一。我在哪里可以找到这些错误编号及其含义的列表?

2 个答案:

答案 0 :(得分:2)

我的情况可能有很多原因,我试图拍照而没有预览(隐藏的照片)而我正在使用SurfaceView,所以我用

替换它
SurfaceTexture surfaceTexture = new SurfaceTexture(10);
camera.setPreviewTexture(surfaceTexture);

问题解决了...... P.S我只在6.0以上的设备上收到此错误

答案 1 :(得分: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

尽管不是很有用..