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