我正在尝试使用较新的camera2 API编写自己的相机应用。 在这一点上,我只是想让应用程序开始使用模拟Nexus 5中固定的640x480 SurfaceView上的相机。
这是我从Logcat获得的错误,以及相关代码: http://pastebin.com/sESf6C1p
老实说,即使在经过大量调试和反复阅读API文档之后,我也不知道这里有什么问题。我发现一些证据表明我应该在调用createCaptureSession(Android Camera - app passed NULL surface)之前添加延迟,我尝试使用SystemClock.sleep(1000),但无济于事。不知道该怎么做" eglCreateContext:EGL错误:0x3005"任
我在surfaceCreated之后运行的surfaceChanged回调中调用了createCaptureSession,所以表面应该全部设置不应该吗?我不明白为什么SDK在内部传递空表面。
任何提示赞赏!
答案 0 :(得分:2)
原来错误是因为模拟的Nexus 5没有GL支持。它在我的Nexus 9上工作正常(打印的调试日志"相机已配置!")。
如果没有"使用主机GPU"模拟器不会启动我。设置已启用,但这是一个不同的故事。我只是在真正的硬件上运行。