Android : 에뮬레이터에서 웹캠을 사용하는 방법은 무엇입니까?


84

AVD Manager에서 전면 카메라를 "webcam0"으로 설정하여 웹캠을 에뮬레이터에 연결하고 있습니다. 에뮬레이터의 카메라 애플리케이션을 시작할 때 오류가 발생합니다.

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;
    }

    [...]
}

카메라가 1 대뿐이므로 웹캠에 ID 0이 올바르게 할당되었습니다. 그러나 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 웹캠도 작동했을 수 있습니다.

답변:


113

최신 정보

Android Studio AVD에서 :

  1. AVD Manager를 엽니 다.

AVD 메뉴

  1. AVD 추가 / 편집 :

특정 AVD 스트립

  1. 화면 하단에서 고급 설정을 클릭합니다.

AVD 고급 설정

  1. 선택한 카메라를 전면 / 후면 카메라로 설정합니다.

AVD 카메라 설정


3
전면 카메라와 후면 카메라를 동일한 소스로 설정하면 안됩니다.
Chris River

1
@ChrisRiver 왜 안돼? 그것은 중요하지 않습니다.
DaveTheMinion

2
멋있는! 그러나 웹캠이 두 개 이상인 경우 웹캠을 변경하는 방법은 무엇입니까?
walkmn

2
카메라가 시작되면 즉시 시뮬레이터가 충돌합니다. 나는 Mac을 사용하고 있습니다.
Milind Mevada

2
@walkmn CLI를 통해 대체 캠을 사용할 수 있습니다.cd "${ANDROID_HOME}/tools"; ./emulator -avd $VIRTUAL_DEVICE_AVD_ID -camera-back webcam1
steamer25

42

Eclipse에서 아래 단계를 따르십시오.

  1. 이동-> AVD 관리자
  2. AVD를 생성 / 편집합니다.
  3. 하드웨어> 신규 :
  4. 카메라가 뒤쪽을 향하도록 구성
  5. 속성 값을 클릭하고 = "webcam0"을 선택합니다.
  6. 위의 모든 작업이 완료되면 웹캠이 연결되어야합니다. 그렇지 않으면 WebCam 드라이버를 확인해야합니다.

자세한 내용은 여기를 확인하십시오 : Android 에뮬레이터에서 웹 카메라를 사용하여 라이브 이미지를 캡처하는 방법은 무엇입니까?

여기에 이미지 설명 입력


2
AVD 관리자의 이전 UI라고 생각합니다. 예전에는 이와 같은 창이 있었지만 이제는 전용 드롭 다운 메뉴에서 전면 및 후면 카메라를 선택할 수 있습니다.
1 ''

나는 mac을 사용하므로 eclipse는 mac osx에서 이런 식으로 보입니다. 따라서 창과 메뉴는 Microsoft Windows와 Linux OS에서 다를 수 있습니다.
Lalith B

또한 올바른 API를 선택해야합니다. API 10에 대한 에뮬레이션을 선택할 수 있지만 작동하지 않습니다. API 16이이를 처음으로 지원했다고 생각합니다.
Nux

에뮬레이션은 Android API가 아닌 ADT를 기반으로합니다. ADT는 19 년부터 에뮬레이션을 지원합니다.
Lalith B

Android Studio에서 3 단계의 경우 "Show Advanced Settings"버튼을 선택하여 카메라 옵션을 표시합니다.
eldes

7

나는 당신이 직면하고있는 문제에 대한 해결책을 제공하기 위해 관리하는이 높은 평가의 블로그 포스트를 보는 것이 좋습니다.

http://www.inter-fuser.com/2009/09/live-camera-preview-in-android-emulator.html

그의 코드는 현재 Android API를 기반으로하며 최신 Android API를 사용하고 있다는 점을 고려할 때 귀하의 경우에서 작동합니다.


나는 이것을 보았지만 구식이라고 생각했습니다. 다른 방법이 없으면 사용하겠습니다. 그러나 AVD 관리자를 사용하면 웹캠을 전면 또는 후면 카메라로 지정할 수 있으므로 에뮬레이터에 웹캠을 입력으로 사용하는 기본 기능이 있다고 가정합니다.
1 '

emulator -webcam-list -avd <name of your AVD>그런데 그 명령은 무엇을 말해 주나요? 당신이 webcam0에 웹캠을 설정 AVD의 속성을 변경 한 경우, 사용을 시작하려고emulator -camera-front webcam0 -avd <name of your AVD>
할림 Qarroum

3

드라이버를 확인하고 필요한 경우 업데이트하는 것이 좋습니다.


2
내 드라이버는 6 살 임에도 불구하고 최신 버전으로 온라인에서 최신 버전을 찾을 수 없습니다. 다른 카메라를 찾을 수 있으면 카메라를 바꿔 볼 수 있습니다.
1 ''
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.