试图让 camera2 API 工作,但在尝试创建捕获会话时遇到一些异常。Surface 列表包含一个非空 Surface。API 文档声明最后一个参数可以保留为 null 以使用当前线程的循环程序。我也尝试过创建一个单独的线程来执行此操作,但没有解决。这一切都发生在运行 Lollipop 的 Galaxy Note 5 上
public void onOpened(CameraDevice camdev){
if(camdev!=null) {
try {
CaptureRequest.Builder captureRequest = camdev21.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
captureRequest.addTarget(imageSurfaceList.get(0));
camdev.createCaptureSession(imageSurfaceList, new CaptureSessionStateHandler(), null);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
有什么线索吗?难道是三星的 Camera2 实现很糟糕,我应该使用折旧的 Camera 类(我已经让它工作了)?
11-20 00:24:15.620 3097-3651/? E/CameraDeviceClient:beginConfigure:尚未实现。
11-20 00:24:15.620 3097-4969/? E/CameraDeviceClient: createStream: bufferProducer 不能为空
11-20 00:24:15.620 25601-25601/? D/AndroidRuntime:关闭虚拟机
11-20 00:24:15.620 25601-25601/? E/AndroidRuntime:致命异常:主要
11-20 00:24:15.620 25601-25601/? E/AndroidRuntime:进程:com.made4engineering.socialselfieapp,PID:25601
11-20 00:24:15.620 25601-25601/? E/AndroidRuntime:java.lang.IllegalArgumentException:传递给相机服务的参数错误
11-20 00:24:15.620 25601-25601/? E/AndroidRuntime:在 android.hardware.camera2.utils.CameraBinderDecorator.throwOnError(CameraBinderDecorator.java:114)
11-20 00:24:15.620 25601-25601/? …