98

AVD Manager で前面カメラを「webcam0」に設定して、Web カメラをエミュレータに接続しています。エミュレーターのカメラ アプリケーションを起動すると、エラーが発生します。

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 台しかないため、Web カメラには ID 0 が正しく割り当てられています。ただし、mNumberOfCamerasおそらくまだ 0 です。これは、カメラがエミュレーターによって登録されていることを意味しますが、接続されているカメラの数を更新する必要はありません。

エミュレーターによって正しく認識されるように Web カメラを接続するにはどうすればよいですか?

編集:コマンドは結果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 マネージャーから、または を使用して Web カメラを起動するとemulator -camera-front webcam0 -avd <name of your AVD>、次のウィンドウが表示されます。

ここに画像の説明を入力

編集 2: これはエミュレーターのバグのようです。提案された回答は、カメラをセットアップするために何をすべきかを教えてくれますが、私にとっては問題を解決しません。最終的には、Web カメラが内蔵されたラップトップを使用して解決しました。おそらく、別の USB Web カメラも同様に機能した可能性があります。

4

3 に答える 3

140

アップデート

Android Studio AVD の場合:

  1. AVD マネージャーを開きます。

AVD メニュー

  1. AVD の追加/編集:

特定の AVD ストリップ

  1. 画面の下部にある [詳細設定] をクリックします。

AVD の詳細設定

  1. 選択したカメラを前面/背面カメラとして設定します。

AVD カメラ設定

于 2015-06-11T22:38:35.430 に答える
43

Eclipse で以下の手順に従います。

  1. ジャンプ -> AVD マネージャー
  2. AVD を作成/編集します。
  3. ハードウェア > 新規:
  4. カメラを後ろ向きに設定します
  5. プロパティ値をクリックし、= "webcam0" を選択します。
  6. 上記のすべてが完了すると、ウェブカメラが接続されます。そうでない場合は、WebCam ドライバーを確認する必要があります。

詳細については、ここを確認してください: Android エミュレーターで Web カメラを使用してライブ画像をキャプチャする方法は?

ここに画像の説明を入力

于 2013-01-02T10:54:20.543 に答える
3

ドライバーを確認し、必要に応じて更新することをお勧めします。

于 2012-12-31T05:48:43.647 に答える