我正尝试使用较新的camera2 API编写我自己的相机应用程序。 在这一点上,我只是试图让应用程序开始与模拟的Nexus 5中固定的640x480 SurfaceView上显示相机。Android camera2 app:“app passed NULL surface”
这是我从Logcat,以及相关的错误代码: http://pastebin.com/sESf6C1p
即使经过大量的调试和反复阅读API文档,我仍然不知道这里有什么问题。我发现了一些证据,我应该在调用createCaptureSession(Android Camera - app passed NULL surface)之前添加一个延迟,我尝试使用SystemClock.sleep(1000),但无济于事。不知道该怎么做“eglCreateContext:EGL错误:0x3005”要么。
我在SurfaceCreated之后运行的surfaceChanged回调中调用了createCaptureSession,所以表面应该全部设置好了吗?我不明白为什么SDK在内部传递零表面。
任何提示赞赏!
“app passed NULL surface”是一个调试级别的消息。失败是来自'android.hardware.camera2.legacy.SurfaceTextureRenderer.configureEGLContext'的IllegalStateException,这似乎与EGL上下文有关。您是否启用了GPU模拟功能?您是否在真实设备上试用了您的应用程序? – fadden 2015-03-13 15:16:32