我当时正在开发一个在具有Android Things的Raspberry Pi上运行的应用程序,该应用程序应该在外部显示器上显示Camera预览,并且演示中附带有一个按钮,按下该按钮即可从相机中捕获图片并对捕获的图像进行一些计算。
我已经成功完成了第二部分,但是在尝试在屏幕上获取相机预览时,应用程序崩溃了。 我昨天获得了RPi,并尝试在Github(https://github.com/googlesamples/android-Camera2Basic)上运行Camera2示例,但是遇到了与以前相同的问题。
I/CameraManagerGlobal: Connecting to camera service
2019-04-01 00:18:19.670 4625-4650/com.example.android.camera2basic W/CameraDevice-JV-0: Stream configuration failed due to: endConfigure:372: Camera 0: Unsupported set of inputs/outputs provided
2019-04-01 00:18:19.682 4625-4650/com.example.android.camera2basic E/CameraCaptureSession: Session 0: Failed to create capture session; configuration failed
我还尝试将ImageReader内部的Preview的宽度和高度修改为兼容的大小之一,如我的Android Things控制台上所示(请参阅下面的屏幕快照中的JPEG部分),但这没有帮助。
但是,我确实在Github上找到了一个回购协议,可以在RPi板上实时预览,但是缺点是它的帧率很差(10-15 FPS)。 存储库链接:https://github.com/harshithdwivedi/CameraDemoForAndroidThings
对此我将不胜感激!
答案 0 :(得分:2)
如another issue中所述,RPI3相机HAL一次仅支持一个目标表面,这显然来自基础V4L2实现的limitation。
以下变通办法应该是可能的:
您可以根据android-Camera2Basic
kotlin示例:here