引言 {#引言}
UVCCamera是操作USB摄像头的一个开源库,库主要有三部分组成:
- libuvccamera
- usbCameraCommon
- usbCameraTest
libuvccamera介绍 {#libuvccamera介绍}
如下图所示:
libuvccamera库是基础库,主要包括USB设备的扫描,设备,驱动,监控等。
- CameraDialog主要完成USB设备的扫描过滤展示,展示结果放在ListView中。
- UsbMonitor主要完成设备的连接断开,扫描等。
- DeviceFilter主要是设备的过滤,解析XML配置文件。
- UVCCamera则是主要的类,主要管理USB摄像头的打开关闭,预览,设备参数等等。
- common下的BaseActivity,BaseFragment, BaseService则提供一些基本功能,供其他类继承使用。
usbCameraCommon介绍 {#usbCameraCommon介绍}
usbCameraCommon则是为使用UVCCamera封装的一个库,如下图所示:
主要包括摄像头的操作,预览展示,录屏视频或音频,编码等相关,是为了方便开发调用的一个库。
- MediaAudioEncoder,MediaMuxerWrapper 主要是保存录像需要用到的比如编码,录像等功能。
- AbstractUVCCameraHandler这个类包括摄像头的基本操作,连接,断开,预览,拍照,抓帧,录像等。
- UVCCameraHandler则继承自AbstractUVCCameraHandler。
- AspectRatioTextureView则是用来显示用。类似SurfaceView。
- UVCCameraTextureView则继承自AspectRatioTextureView。
usbCameraTest介绍 {#usbCameraTest介绍}
调用模块则是实际使用的模块,如下图所示:
|---------------|-------------------------------------------------------------------------------------------------------------------|
| 1 2 3
| public final class MainActivity extends BaseActivity implements CameraDialog.CameraDialogParent { //... }
|
这里可以操作摄像头做一些实际的操作。
UVCCamera相关内容 {#UVCCamera相关内容}
- Android UVCCamera 简介
- Android UVCCamera基本库介绍
- Android UVCCamera调用过程介绍
- 解决Android UVCCamera项目编译和运行报错的问题
- Android UVCCamera扫描USB Device的过程和原理分析
- Android UVCCamera闪退问题解决方法
- 解决UVCCamera拔出USB摄像头APP崩溃(闪退)的问题
- Android中多USB摄像头解决方案 ------ UVCCamera
- UVCCamera源码分析(一)
- UVCCamera源码分析(二)
- UVCCamera源码分析(三)
- UVCCamera源码分析(四)
- UVCCamera源码分析(五)
参考链接:https://blog.csdn.net/bawang_cn/article/details/121350618