【发布时间】:2026-02-07 23:20:02
【问题描述】:
我想在 android 中创建一个应用程序,当将 USB 摄像头设备连接到 android 设备时,所有应用程序都应将外部摄像头检测为主摄像头。例如,如果我们打开相机应用程序,那么设备会从通过 USB 连接的设备中获取照片。有没有办法做到这一点?
请不要把这个问题当作不是一个真正的问题来结束。
【问题讨论】:
标签: android usb android-camera
我想在 android 中创建一个应用程序,当将 USB 摄像头设备连接到 android 设备时,所有应用程序都应将外部摄像头检测为主摄像头。例如,如果我们打开相机应用程序,那么设备会从通过 USB 连接的设备中获取照片。有没有办法做到这一点?
请不要把这个问题当作不是一个真正的问题来结束。
【问题讨论】:
标签: android usb android-camera
您无法通过编写简单的应用程序来做到这一点,因为您无法决定哪个是默认相机。这是由系统固件完成的,您无法通过 Android SDK 进行修改。
实现这一点的唯一方法是在源代码级别自定义 Android,并添加代码以自动将默认摄像头切换到 USB 可用的摄像头。
【讨论】:
你可以使用OpenCV,根据this document很容易。
从默认摄像头捕捉帧:
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中一样自定义您的音频和视频设置,您可以在设备管理器中禁用内置摄像头或更改设置以使用外部默认为网络摄像头。但我个人会完全禁用内置摄像头。
【讨论】: