Android Emulator: невозможно запустить веб-камеру для захвата изображения в эмуляторе
Я создал эмулятор armeabi API 21 в AVD-менеджере в Android Studio, установил его для использования веб-камеры в качестве передней камеры и запустил ее.
Проблема в том, что она не может ее открыть, поскольку я получаю эту ошибку:
emulator: ERROR: camera_device_start_capturing: VIDIOC_STREAMON on camera '/dev/video0' has failed: Timer expired
emulator: ERROR: _camera_client_query_start: Cannot start camera '/dev/video0' for NV21[640x480]: Inappropriate ioctl for device
Как я могу это решить?
Веб-камера работает нормально, используя другое программное обеспечение. Оперативная система - Ubuntu 14.04.
Ответы
Ответ 1
В Android Studio перейдите в AVD Manager, нажмите кнопку "Изменить" (карандаш) в "Действиях". После этого в следующем появляющемся окне нажмите "Предварительные настройки", а затем прокрутите вниз и в параметрах "Камера" выберите веб-камеру для просмотра спереди и сзади.
Ответ 2
Чтобы включить камеру в вашем Android-эмуляторе, просто добавьте следующий выделенный код в файл config.ini AVD. Файл config.ini
можно найти в папке <userdirectory>/.android
.
Файл: ~/.android/config.ini
hw.lcd.density=160<br>
skin.name=HVGA<br>
skin.path=platforms\android-9\skins\HVGA<br>
hw.cpu.arch=arm<br>
abi.type=armeabi<br>
vm.heapSize=24<br>
image.sysdir.1=platforms\android-9\images\<br>
hw.camera=yes<br>
sdcard.size=64M<br>
Если вы не нашли файл config.ini
или хотите включить поддержку камеры через Android SDK и AVD Manager, выполните следующие действия:
Откройте Android SDK и AVD Manager:
- Добавить SD-карту в AVD
В настройке SD-карты задайте значение для параметра "Размер". Чтобы включить камеру, SD-карту необходимо включить в эмуляторе.
- Добавить поддержку камеры в аппаратном обеспечении в AVD
Теперь в разделе "Оборудование" нажмите кнопку "Создать", чтобы добавить аппаратное обеспечение камеры. Он откроется после диалогового окна. Выберите "Поддержка камеры" в раскрывающемся списке "Свойство" и нажмите "ОК".
- Включить поддержку камеры в аппаратном обеспечении
Новое оборудование: поддержка камеры видна в разделе "Оборудование". Установите его значение "Да" и сохраните изменения, нажав "Изменить AVD".
- Сохраните изменения и запустите эмулятор.
Ответ 3
Вы можете попытаться вручную отредактировать файл конфигурации AVD в
~/.android/AVD/yourAvdName/config.ini
добавив эту строку:
hw.camera=yes
UPDATE
Вы можете попробовать указать реальное разрешение вашей веб-камеры:
hw.camera.maxHorizontalPixels=XXX
hw.camera.maxVerticalPixels=XXX
Имейте в виду, что значение по умолчанию для maxHorizontalPixels 640, а для maxVerticalPixels 480, поэтому изменение этих значений поможет вам решить ваши проблемы.
Ответ 4
У меня была аналогичная проблема с немного другим сообщением об ошибке в OS X. Я выяснил, что все в порядке, но эмулятор сбой, когда камера занимает слишком много времени для инициализации.
В моем случае я закончил закрытие других приложений, и это сработало. Вы можете протестировать более эффективный компьютер.