Используйте камеру, подключенную через USB, вместо встроенной камеры
Я хочу создать приложение в android, которое при подключении устройства USB-камеры к устройству Android потребует, чтобы все приложения должны были обнаружить внешнюю камеру в качестве основной камеры. Например, если мы открываем приложение для камеры, тогда устройство берет снимок с того, который подключен через USB. Есть ли способ сделать это?
Пожалуйста, не закрывайте этот вопрос как не вопрос.
Ответы
Ответ 1
Вы не можете сделать это, написав простое приложение, так как вы не решаете, какая камера по умолчанию. Это делается с помощью прошивки системы, и вы не можете изменить это через Android SDK.
Единственный способ добиться этого - настроить Android на уровне источника и добавить код для автоматического переключения камеры по умолчанию на тот, который подключен USB, когда он доступен.
Ответ 2
вы можете использовать OpenCV, в соответствии с этим документом это довольно просто.
для захвата кадров с камеры по умолчанию:
CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANDROID + 0 );
для захвата кадров из usb:
CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANDROID + 1 );
OpenCV является открытым исходным кодом, вы можете получить исходный код здесь
, вам понадобится проект Android cmake
Edit:
android - это операционная система на базе Linux, вы можете загрузить эмулятор терминала Android и настроить свои настройки аудио и видео, как в Linux, вы можете либо отключите встроенную камеру в диспетчере устройств, либо измените настройки, чтобы использовать внешнюю веб-камеру по умолчанию. но я полностью отключил бы встроенную камеру.