随着用户对需求不断的延伸,在特种单兵场景下,很多场景需要单兵设备接入外置OTG摄像头。
OTG摄像头接入单兵设备后,其实是通过UVC协议进行数据交互的,这一块相对于上层应用开发而言就稍显复杂了,我们通过JNI实现了UVC协议,完成对OTG摄像头视频的采集。并以回调形式反射到上层JAVA层,完成对摄像头的封装,以android摄像头通用操作的的接口提供给开发者。
我们将UVC摄像头的操作封装到SYUVCCameraAdapter 类里,如果需要在原有的前后置摄像头基础上支持OTG摄像头,只需要导入该类,创建对象,打开摄像头即可。app退出或者使用完毕后关闭摄像头,代码如下:
import com.shiyue.uvccamera.SYUVCCameraAdapter;
public SYUVCCameraAdapter syuvc = new SYUVCCameraAdapter();
@Override
protected void onCreate(Bundle savedInstanceState)
{
...
syuvc.openUSBMonitor(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
...
syuvc.CloseUSBMonitor();
}
完成以上工作,APP就具体了OTG自动接入的功能,后面如果需要使用或者采集摄像头,操作就和普通camera的操作一样,只不过cameraID设置为2(默认0位后置,1位前置)即可。app中操作otg摄像头代码如下:
public boolean gbdevice_start()
{
recorder.open(GbtDeviceJni.gbtdevice_GetChannelId(gb
OTG摄像头接入实战

本文介绍了一种在特种单兵设备上实现OTG摄像头接入的方法。通过JNI实现了UVC协议,将摄像头视频采集功能封装进SYUVCCameraAdapter类中。开发者只需简单几步就能在APP中实现OTG摄像头的接入及视频采集。
最低0.47元/天 解锁文章
2407

被折叠的 条评论
为什么被折叠?



