Я пытаюсь использовать UVCCamera в моем приложении.В этой библиотеке нет хорошей документации о том, как ее использовать, и просто рекомендует со ссылкой на примеры и их японский веб-сайт.В настоящее время я использую этот пример .UVCCamera широко использует многопоточность и, насколько мне известно, специальный Android-петлитель.Проблема с примером состоит в том, что он запускает камеру с помощью кнопки, которая затем запускает DialogFragment, а затем позволяет пользователю выбрать камеру из списка.Затем открывается диалоговое окно с запросом разрешения на доступ к камере (если оно еще не предоставлено).Наконец, он открывает предварительный просмотр камеры.Широкое использование многопоточности и Runnables в этих компонентах затрудняет отслеживание устройства для новичка в многопоточности, такого как я.Не пытаясь сказать, что я ничего не знаю о потоках и петлях и очередях сообщений.Просто библиотека очень сложна для понимания.Тем не менее, я могу получить текущую подключенную USB-камеру, используя следующий код:
UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = usbManager.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
UsbDevice usbDevice = null;
for(UsbDevice device : deviceList.values()) {
if(device.getDeviceClass() == 239 && device.getDeviceSubclass() == 2) {
usbDevice = device;
break;
}
}
if(usbDevice != null) {
Log.d(TAG, "onCreate: usbDevice: " + usbDevice.toString());
}
Кто-нибудь знает, как я могу передать это устройство в библиотеку для создания предварительного просмотра.Все, чего я сейчас хочу добиться, - это автоматически запустить предварительный просмотр сразу после подключения камеры, избавляя пользователя от необходимости нажимать кнопку и запускать диалог камеры.