Подтвердить что ты не робот

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.

4b9b3361

Ответ 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. Я выяснил, что все в порядке, но эмулятор сбой, когда камера занимает слишком много времени для инициализации.

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