开源项目UVCCamera,实现了手机无需root就支持USB Camera设备的检测、连接、预览和音视频数据采集等功能,下面简要介绍下它的使用。
UVC,全称为:USB video class 或USB video device class。是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准。
现在有8个样例可供使用。
1)USBCameraTest0
这是最简单的项目,只显示如何使用SurfaceView来启动/停止预览。
2)USBCameraTest
这是最简单的项目,只显示如何启动/停止预览。这与USBCameraTest0几乎相同,但是使用自定义的TextureView来显示相机图像而不是使用SurfaceView。
3)USBCameraTest2
这是一个示例项目,演示如何使用MediaCodec编码器将UVC相机(无音频)的视频记录为.MP4文件。此示例需要API> = 18,因为MediaMuxer仅支持API> = 18。
4)USBCameraTest3
这是一个示范项目,演示如何将音频(来自内部麦克风)的视频(来自UVC相机)录制为.MP4文件。这也显示了几种捕捉静止图像的方式。此示例可能最适用于您的定制应用程序的基础项目。
5)USBCameraTest4
本示例显示了访问UVC相机并将视频图像保存到后台服务的方式。这是最复杂的示例之一,因为这需要使用AIDL的IPC。
6)USBCameraTest5
这与USBCameraTest3几乎相同,但使用IFrameCallback接口保存视频图像,而不是使用来自MediaCodec编码器的输入Surface。