26得票2回答
使用camera2还是已弃用的Camera - 哪种做法最佳?

我正在开发一个应用程序,其中相机是一个重要的功能。在这方面,我想对以下几个方面有100%的把握: 如果我使用了已弃用的相机:该应用程序现在是否仍可以在所有API上运行? 如果问题1的答案是肯定的:在什么时间点该应用程序将不再在所有API上运行(我的应用程序应至少覆盖API 17)? 我在哪...

19得票3回答
Android相机2 API的BufferQueue已被废弃

我正在测试新的Android camera2 API,并且我想要控制来自相机的每一帧。为此,我创建了一个ImageReader并设置分辨率和图像格式。ImageReader imageReader = ImageReader.newInstance(1280,720,ImageFormat.Y...

19得票3回答
Android相机2:java.lang.IllegalStateException:已经获取了maxImages(1),在获取更多之前调用#close

你好,遇到了修复此问题的困难。 我已经在ImageAvailable回调函数中调用了imageReader.close,但仍然出现错误: java.lang.IllegalStateException: maxImages (1) has already been acquired,...

16得票1回答
在安卓设备上使用高帧率相机

有一些手机(例如Galaxy S5和S6)官方支持高帧率录制。我尝试过两者,都可以使用默认相机应用程序录制高帧率视频(60或120 fps)。 (或在S6上使用Gear VR的“Passthrough Camera”功能。)但是:当您通过标准的Android API查询相机的功能时(在S5上尝...

16得票2回答
使用Android camera2实现全屏预览

我正在使用新的camera2 API构建定制相机。我的代码基于Google提供的代码示例,可以在这里找到。 我找不到一种方法来使相机预览全屏显示。在代码示例中,他们使用比例优化来适应所有屏幕,但它只占据了屏幕高度的3/4左右。 这是我AutoFitTextureView的代码: publ...

15得票2回答
相机2 API - 如何设置长时间曝光时间

我正在尝试在我的应用程序中使用30秒的曝光时间获取图像(我知道这是可能的,因为原生相机允许这样做)。 但是SENSOR_INFO_EXPOSURE_TIME_RANGE(它应该是以纳秒为单位的)给出了这个范围: 13272 - 869661901 只需要几秒钟0.000013272 - ...

13得票2回答
Android Camera2 API 切换前后摄像头

我正在使用新的camera2 API创建自定义相机捕获视频。我的代码是根据谷歌提供的代码(这里)进行修改的。我的相机预览有一个按钮可以在后置摄像头和前置摄像头之间切换。默认情况下,“相机预览”活动会以后置摄像头启动。由于某些原因,当我第一次点击“切换/交换相机”按钮时,它会像应该的那样将我转到...

12得票3回答
Android相机2 API YUV_420_888转换为JPEG

我正在使用OnImageAvailableListener获取预览帧: 我使用OnImageAvailableListener来获取相机的预览帧。 @Override public void onImageAvailable(ImageReader reader) { Image ...

12得票2回答
安卓设备上如何实现60/120fps的预览数据?

我们希望使用Neon汇编或GPU着色器处理每秒120帧(或60帧)的摄像机预览数据,执行简单的图像处理操作(例如3x3卷积)。我们不关心将图像显示在屏幕上,因此相机数据应直接传递到SurfaceTexture。 我们曾认为可以在Nexus 5上使用CameraConstrainedHighS...

12得票2回答
Camera2 API的onCaptureComplete()被调用,但相机状态仍为CONTROL_AE_STATE_PRECAPTURE。

我正在尝试创建一个应用程序,使用camera2 API从服务中获取一些照片。我可以从基于Camera2Basic示例的片段中成功地拍摄照片。但是,当我尝试将其移到服务时,图像无法正确捕获,始终无法超过自动曝光预捕获状态。我发现这是由于没有预览而导致的问题。我编写了一个测试片段,通过获取Came...