UVCCamera是usb摄像头的一个开源库,库主要有三部分组成,一个是libuvccamera,一个是usbCameraCommon,另一个是调用demo程序usbCameraTest。
如下图所示:
如上图,libuvccamera库是基础库,主要包括USB设备的扫描,设备,驱动,监控等。
CameraDialog主要完成usb设备的扫描过滤展示,展示结果放在listview中。
UsbMonitor主要完成设备的连接断开,扫描等。
DeviceFilter主要是设备的过滤,解析xml配置文件。
UVCCamera则是主要的类,主要管理USB摄像头的打开关闭,预览,设备参数等等。
而common下的BaseActivity,BaseFragment, BaseService则提供一些基本功能,供其他类继承使用。
usbCameraCommon则是为使用UVCCamera封装的一个库, 如下图所示:
主要包括摄像头的操作,预览展示,录屏视频或音频,编码等相关,是为了方便开发调用的一个库。
MediaAudioEncoder,MediaMuxerWrapper 主要是保存录像需要用到的比如编码,录像等功能.
AbstractUVCCameraHandler这个类包括摄像头的基本操作,连接,断开,预览,拍照,抓帧,录像等都有。
UVCCameraHandler则继承自AbstractUVCCameraHandler,
AspectRatioTextureView则是用来显示用。类似SurfaceView,
UVCCameraTextureView则继承自AspectRatioTextureView。
而调用模块则是实际使用的模块,
public final class MainActivity extends BaseActivity implements CameraDialog.CameraDialogParent {。。。}
这里可以操作摄像头做任意操作。
先简略记录下。。。