Ответ 1
ОБНОВЛЕНИЕ
В Android Studio AVD:
- Открыть диспетчер AVD:
- Добавить/изменить AVD:
- Нажмите "Дополнительные настройки" в нижней части экрана:
- Установите камеру в качестве передней/задней камеры:
Я подключаю веб-камеру к эмулятору, установив переднюю камеру на "webcam0" в AVD Manager. Когда я запускаю приложение камеры эмулятора, я получаю сообщение об ошибке
CameraService::connect X (pid 702) rejected (invalid cameraId 0).
Здесь соответствующая часть исходного кода Android:
sp<ICamera> CameraService::connect(
const sp<ICameraClient>& cameraClient, int cameraId) {
int callingPid = getCallingPid();
[...]
if (cameraId < 0 || cameraId >= mNumberOfCameras) {
LOGE("CameraService::connect X (pid %d) rejected (invalid cameraId %d).",
callingPid, cameraId);
return NULL;
}
[...]
}
Веб-камера правильно присвоена идентификатором 0, потому что есть только 1 камера. Тем не менее, mNumberOfCameras
предположительно остается 0. Это означает, что камера регистрируется эмулятором, но она не потрудилась обновлять количество подключенных камер.
Как подключить веб-камеру, чтобы он был правильно распознан эмулятором?
Изменить: команда emulator -webcam-list -avd <name of your AVD>
в \android-sdks\tools
дает результат:
List of web cameras connected to the computer:
Camera `webcam0` is connected to device `AndroidEmulatorVC0` on channel 0 using pixel format `BGR4`
Когда я запускаю веб-камеру из менеджера Eclipse AVD или используя emulator -camera-front webcam0 -avd <name of your AVD>
, я получаю следующее окно:
Изменить 2: Кажется, это ошибка в эмуляторе. Предлагаемый ответ говорит вам, что делать, чтобы настроить камеру, но не решает проблему для меня. Я в конечном счете решил это, используя ноутбук со встроенной веб-камерой. Возможно, другая веб-камера USB тоже могла бы работать.
ОБНОВЛЕНИЕ
В Android Studio AVD:
Следуйте приведенным ниже инструкциям в Eclipse.
Подробнее здесь: Как использовать веб-камеру в эмуляторе Android для захвата живого изображения?
Я предлагаю вам взглянуть на это высоко оцененное сообщение в блоге, которому удастся решить проблему, с которой вы сталкиваетесь:
http://www.inter-fuser.com/2009/09/live-camera-preview-in-android-emulator.html
Его код основан на текущих API Android и должен работать в вашем случае, учитывая, что вы используете новейший Android API.
Я бы предложил проверить драйверы и, при необходимости, обновить их.