Как использовать библиотеку UVCCamera - PullRequest
0 голосов
/ 22 сентября 2018

Я пытаюсь использовать 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());
        }

Кто-нибудь знает, как я могу передать это устройство в библиотеку для создания предварительного просмотра.Все, чего я сейчас хочу добиться, - это автоматически запустить предварительный просмотр сразу после подключения камеры, избавляя пользователя от необходимости нажимать кнопку и запускать диалог камеры.

...