Мне нужно открыть внешнюю камеру UVC сAndroid Открытая внешняя камера UVC вместо аппаратной камеры
Camera.open (CameraId);
но не работает
Помогите?
Мне нужно открыть внешнюю камеру UVC сAndroid Открытая внешняя камера UVC вместо аппаратной камеры
Camera.open (CameraId);
но не работает
Помогите?
Я изучаю эту тему в течение нескольких дней и внес свои частичные результаты здесь.
«Внешняя камера (например, USB-камера с горячей заменой). Обновления API указывают, что статическая информация камеры доступна только тогда, когда камера подключена и готова к использованию для внешнего горячего -пробки. Звонки на получение статической информации будут недействительными, если статус камеры не CAMERA_DEVICE_STATUS_PRESENT. Структура учитывает только обратные вызовы изменения статуса устройства для управления доступным списком внешних камер ».
Я еще не в состоянии писать код, используя Camera2 API, что доступ к веб-камеры.
Наконец, я даже нашел, что в Android source code следующий код
(144) // TODO: обновление CAMERA_FACING_EXTERNAL после того, как изменения HAL API объединяются.
Хотя CAMERA_FACING_EXTERNAL новое значение CameraInfo class для внешней камеры, которые, очевидно, не ФРОНТ, а не назад.
Надеюсь, это поможет вам перейти к полному ответу.
К сожалению, в то время как у API-камеры camera2 есть необходимые интерфейсы API для поддержки внешних камер, таких как веб-камеры USB, пока нет стандартной низкоуровневой поддержки внешних камер.
Некоторые производители отдельных устройств имеют такую поддержку, но в настоящее время это очень небольшое количество устройств.
До тех пор единственным способом использования веб-камер USB для использования в приложениях Android является использование необработанных интерфейсов USB напрямую, а не использование API-интерфейсов камеры вообще. Вы можете либо попытаться найти существующую библиотеку UVC для использования, либо написать свой собственный.
Испытанный: https://github.com/saki4510t/UVCCamera
выше ссылка поставляется с 8 различными приложениями в мастер-приложении, реализация различных функций в каждом. Пройдите через приложения.
Используйте библиотеку libuvc для доступа к внешней камере.
Эта функция была реализована на некоторых платформах, перемещая каждую функцию в camera_device_ops_t на оборудовании функции USB_CAMERA, как показано ниже:
camera_device_ops_t usb_camera_camera_ops = {
set_preview_window: usb_camera_set_preview_window,
set_callbacks: usb_camera_set_CallBacks,
enable_msg_type: usb_camera_enable_msg_type,
disable_msg_type: usb_camera_disable_msg_type,
msg_type_enabled: usb_camera_msg_type_enabled,
start_preview: usb_camera_start_preview,
stop_preview: usb_camera_stop_preview,
preview_enabled: usb_camera_preview_enabled,
store_meta_data_in_buffers: usb_camera_store_meta_data_in_buffers,
start_recording: usb_camera_start_recording,
stop_recording: usb_camera_stop_recording,
recording_enabled: usb_camera_recording_enabled,
release_recording_frame: usb_camera_release_recording_frame,
auto_focus: usb_camera_auto_focus,
cancel_auto_focus: usb_camera_cancel_auto_focus,
take_picture: usb_camera_take_picture,
cancel_picture: usb_camera_cancel_picture,
set_parameters: usb_camera_set_parameters,
get_parameters: usb_camera_get_parameters,
put_parameters: usb_camera_put_parameters,
send_command: usb_camera_send_command,
release: usb_camera_release,
dump: usb_camera_dump,
};