从Camera2Basic开始,我做了一个非常小的改动,即用虚拟表面替换纹理表面:
private SurfaceTexture mDummyPreview = new SurfaceTexture(10);
private Surface mDummySurface = new Surface(mDummyPreview);
.........
mPreviewRequestBuilder.addTarget(mDummySurface);
它不再起作用了。当我点击“图片”时,它第一次工作,但之后它不起作用。
应该可以使用此os answer
你知道为什么吗?我在这里缺少什么?
已更新
只要程序拍摄静态照片,此错误就会一直显示:
W/Binder: Binder call failed.
java.lang.NullPointerException: Attempt to invoke virtual method 'android.hardware.camera2.CaptureRequest android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder.getRequest(int)' on a null object reference
at android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks.onResultReceived(CameraDeviceImpl.java:1758)
at android.hardware.camera2.ICameraDeviceCallbacks$Stub.onTransact(ICameraDeviceCallbacks.java:99)
at android.os.Binder.execTransact(Binder.java:570)
感谢。