java – CameraDevice无法创建会话[Camera2]
发布时间:2020-12-15 00:35:41 所属栏目:Java 来源:网络整理
导读:我正在尝试使用Camera2 API将相机数据流式传输到SurfaceView.我正在按照本指南: Camera2 guide 我无法通过第5步 MainActivity.java::onCreate() setContentView(R.layout.activity_main);surfaceView = (SurfaceView)findViewById(R.id.surface);manager =
我正在尝试使用Camera2 API将相机数据流式传输到SurfaceView.我正在按照本指南:
Camera2 guide
我无法通过第5步
setContentView(R.layout.activity_main); surfaceView = (SurfaceView)findViewById(R.id.surface); manager = (CameraManager)getSystemService(Context.CAMERA_SERVICE);
for (String id : manager.getCameraIdList()) { CameraCharacteristics characteristics = manager.getCameraCharacteristics(id); Integer direction = characteristics.get(CameraCharacteristics.LENS_FACING); if (direction != null && direction == CameraCharacteristics.LENS_FACING_BACK) { if (checkCallingOrSelfPermission("android.permission.CAMERA") == PackageManager.PERMISSION_GRANTED) manager.openCamera(id,new StateCallback(),null); break; } }
List<Surface> surfaces = new LinkedList<>(); surfaces.add(surfaceView.getHolder().getSurface()); CaptureRequest.Builder builder = camera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); builder.addTarget(surfaces.get(0)); camera.createCaptureSession(surfaces,new CameraCaptureSession.StateCallback() { @Override public void onConfigured(CameraCaptureSession session) { Log.i(TAG,"Configured"); } @Override public void onConfigureFailed(CameraCaptureSession session) { Log.e(TAG,"Configured failed"); // Ends up in this function :( } },null); 该程序最终在onConfigureFailed()函数中.我不知道可能是什么错误,我不知道如何检查是什么. 我的猜测是我在CaptureRequest中遗漏了一些东西,但我不知道是什么. 我正在运行Samsung Galaxy S4. 解决方法
添加到onConfigured:
if (null == cameraDevice) { Log.e(TAG,"updatePreview error,return"); return; } captureRequestBuilder.set(CaptureRequest.CONTROL_MODE,CameraMetadata.CONTROL_MODE_AUTO); try { cameraCaptureSessions.setRepeatingRequest(captureRequestBuilder.build(),null,mBackgroundHandler); } catch (CameraAccessException e) { e.printStackTrace(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java 函数的重载和重写实例代码
- java.lang.OutOfMemoryError:PermGen空间上的Web应用程序使
- 为什么Java编译器生成奇怪的本地变量和堆栈映射帧?如何使用
- java – 为什么接口根据类文件格式扩展Object?
- java – Tabs不占用屏幕的整个宽度
- SpringMVC+Mysql实例详解(附demo)
- Java用数组实现循环队列的示例
- Java NIO ByteBuffer 的使用与源码研究
- java – Selenium WebDriver Safari(11.0)TypeError:值不
- java – 准备Nashorn引擎的Apache Commons池的有效方法