我想在android中创建一个应用程序,当将USB摄像头设备连接到Android设备时,所有应用程序都应将外部摄像头检测为主摄像头。例如,如果我们打开相机应用程序,那么设备将从通过USB连接的图片中获取图片。有没有办法做到这一点?
请不要将此问题视为真正的问题。
答案 0 :(得分:10)
你不能通过编写一个简单的应用来做到这一点,因为你没有决定哪个是默认的相机。这是由系统固件完成的,您无法通过Android SDK进行修改。
实现这一目标的唯一方法是在源级自定义Android,并添加代码以自动将默认摄像头切换到USB连接的摄像头。
答案 1 :(得分:3)
你可以使用OpenCV,根据this document这很容易。
从默认cam中捕获帧:
CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANDROID + 0 );
从usb中捕获帧:
CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANDROID + 1 );
OpenCV是开源的,您可以从here获取源代码 ,您需要Android cmake project
修改强>
android是一个基于Linux的操作系统,你可以下载Android terminal emulator并自定义你的音频和视频设置,就像在Linux中一样,你可以在设备管理器中禁用内置摄像头或更改设置以使用外部网络摄像头默认为。但我个人完全禁用了内置摄像头。