如何在Android OS 9上连接和打开USB摄像头



我正在尝试打开预览,它是连接Android OS 9的USB摄像头。

起初,我尝试使用"Camera2"API,但"CameraManager.cameraIds"仅返回设备的cameraIds。我知道我可以通过UsbManager.getDeviceList.找到那个USB设备

但是,我不知道那个设备是作为相机打开的。

如果你有Camera2的答案,这是一个最好的解决方案。但如果不是Camera2,我不客气。

谢谢

插入USB摄像头时,需要首先检查的事项很少。

1( 你的相机从USB端口通电了吗?(要做到这一点,你的USB端口应该支持USB-OTG-USB端口可以同时作为目标和主机,检查相机上的灯(如果有的话(是否发光?(

2( 节点是否正在/dev/目录中创建?(只有在内核启用了v4l2和UVC支持的情况下,才会创建节点(。如果节点正在被创建,现在你可以访问真正的硬件,即USB摄像头,从现在开始你的工作将很容易。要检查在android文件系统中执行ls-l/dev/v*,并检查是否正在创建video0或video1。

4( 如果创建了节点,则需要编写固件(UVC(并从实际硬件中获取帧。它(UVC(支持不同的ioctl调用,这些调用与内核中的v4l2层对话,并将为您获取帧。

这些帧将主要是YUYV422或YUYV420格式。

收到帧后,转换为RGB或Jpeg(Android支持转换(,并在画布或imageview上显示您喜欢的内容。

对于录制,您可能必须使用fmpeg进行编码。这将把图像转换成视频。

最新更新