使用通过USB连接的摄像头而不是内置的摄像头

我想在android中创build一个应用程序,当将USB摄像头设备连接到android设备时,所有应用程序都应该将外部摄像头检测为主摄像头。 例如,如果我们打开相机应用程序,那么设备从通过USB连接的设备拍摄照片。 有没有办法做到这一点?

请不要closures这个问题,因为这不是一个真正的问题。

Solutions Collecting From Web of "使用通过USB连接的摄像头而不是内置的摄像头"

你不能通过写一个简单的应用程序来做到这一点,因为你不能决定哪一个是默认的摄像头。 这是由系统固件完成的,你不能通过Android SDK进行修改。

实现这一目标的唯一方法是在源级别定制Android,并添加代码,以在USB可用时自动将默认相机切换为USB相连的相机。

你可以使用OpenCV,根据这个文件它很容易。

从默认摄像头捕捉帧:

CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANDROID + 0 ); 

捕捉从USB的帧:

 CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANDROID + 1 ); 

OpenCV是开源的,你可以从这里获得源代码,你将需要Android的cmake项目

编辑:

android是一个基于linux的操作系统,您可以下载Androidterminal仿真程序并自定义您的audio和video设置,如在Linux中,您可以禁用设备pipe理器中的内置摄像头,或更改设置,以使用外部摄像头作为默认。 但我会完全禁用内置摄像头。