web-dev-qa-db-ja.com

Android Emulator:エミュレータで画像をキャプチャするためにウェブカメラを起動できません

AVDマネージャーでAndroid Studioでarmeabi API 21エミュレーターを作成し、ウェブカメラをフロントカメラとして使用するように設定して起動しました。問題は、それを開けないことです。 、このエラーが発生しているため:

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

どうすれば解決できますか?

Webカメラは、他のソフトウェアを使用して正常に機能します。運用システムはUbuntu 14.04です。

33

Android Studio、AVD Managerに移動し、[アクション]の編集(鉛筆)ボタンをクリックします。その後、次のウィンドウで[詳細設定]をクリックし、下にスクロールして[カメラオプション]で、前面と背面のウェブカメラを選択します。

18
BST Kaal

Android Emulator)でカメラを有効にするには、AVDのconfig.iniファイルに次の強調表示されたコードを追加します。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を介してカメラサポートを有効にする場合は、次の手順を実行します。

Open Android SDK and AVD Manager:

  1. AVDにSDカードを追加
    SDカードの設定で、サイズの値を設定します。カメラを有効にするには、エミュレータでSDカードを有効にする必要があります。
  2. AVDの下のハードウェアにカメラサポートを追加
    [ハードウェア]セクションで、[新規]ボタンをクリックしてカメラハードウェアを追加します。次のダイアログボックスが開きます。 [プロパティ]ドロップダウンから[カメラサポート]を選択し、[OK]をクリックします。
  3. ハードウェアでカメラサポートを有効にする
    新しいハードウェア:カメラのサポートは[ハードウェア]セクションに表示されます。値をyesに設定し、Edit AVDを押して変更を保存します。
  4. 変更を保存してエミュレーターを起動します。
12
Mayavi

手動でAVDの構成ファイルを編集してみてください。

〜/ .Android/avd/yourAvdName/config.ini

この行を追加することにより:

hw.camera=yes

[〜#〜] update [〜#〜]

Webカメラの実際の解像度を指定しようとすることができます。

hw.camera.maxHorizontalPixels=XXX
hw.camera.maxVerticalPixels=XXX

maxHorizo​​ntalPixelsのデフォルト値は64であり、maxVerticalPixels48であるため、この値を変更すると問題の解決に役立つ場合があります。

6
bonnyz

OS Xではわずかに異なるエラーメッセージで同様の問題が発生しました。すべては問題ありませんでしたが、カメラの初期化に時間がかかりすぎるとエミュレーターがクラッシュします。

私の場合、私は他のアプリケーションを閉じてしまい、うまくいきました。よりパフォーマンスの高いコンピューターでテストすることができます。

1
Erdal G.