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

问题描述 投票:0回答:1

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

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

但是,我不知道该设备会作为相机打开。

如果您有Camera2的回答,那是最佳解决方案。但是,如果没有使用Camera2,欢迎您。

谢谢

android camera usb android-camera2 android-camera-intent
1个回答
0
投票

当您插入USB相机时,首先需要检查的内容很少。

1)相机是否通过USB端口供电?(为此,您的USB端口应具有USB-OTG支持-USB端口既可以用作目标主机,也可以用作主机,请检查相机上的指示灯(如果有)是否发光是否?)

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

4)如果创建了节点,则需要编写固件(UVC)并从实际硬件中获取帧。它(UVC)支持与内核中的v4l2层通信的各种ioctl调用,并将为您获取帧。

这些帧大多为YUYV422或YUYV420格式。

[一旦收到帧,请转换为RGB或Jpeg(Android支持转换),并在画布或imageview上显示您喜欢的任何位置。

为了进行录制,您可能必须使用fmpeg进行编码。这会将图像转换为视频。

© www.soinside.com 2019 - 2024. All rights reserved.