CamTwistを使ってAndroidEmulatorのカメラソースをPC画面にする
バーコード読み取り機能を作る場合などにいちいち実機でバーコードをスキャンするのが面倒臭かったのでなんとかPCに表示した画像をエミュレータのカメラソースにできないか調べてみました
CamTwist
CamTwistはニコニコ生放送やTwitchなどで配信する時に、Webカメラの映像ではなく、PC画面を映像のソースとして配信するためのソフトです。エミュレータではWebカメラや内臓カメラをソースとして使えますが、同じようにCamTwistの映像も使うことができます
以下の方法はCamTwist以外にも同じ機能をもったソフトであれば有効だと思います
設定方法
CamTwist
CamTwistをダウンロードページからダウンロードしてインストールします
CamTwistの設定は、以下のようにします
- Desktop (範囲は任意)
- Rotation Translation(任意)
- Zoom(任意)
エミュレータで表示した時に画像が回転した状態で表示されていたらRotationを設定してみてください
AVD
- エミュレータの設定画面から
Show Advanced Settings
を押す - Cameraの設定をwebcam0にする
- 設定を保存
以上で設定は終了です
エミュレータ起動
エミュレータでカメラアプリを起動して確認してみます
以下のようにCamTwistで指定した範囲の映像が表示されていればOKです
おまけ webcam0について
Macではもともと内臓カメラがついている端末がほとんどだと思いますが、エミュレータの設定では内臓カメラやCamTwistなどの映像ソースが複数ある場合でもwebcam0しか選択することができません(AndroidStudioのエミュレータ設定ではカメラがあろうがなかろうがNone, Emulated, Webcam0の3つのみ選択できるようになっているようです)。
そのため、環境によっては内臓カメラの映像が自動的に選択されてしまうかもしれません。
emulatorコマンド Commonly used optionsを見た限りではemulatorコマンドからエミュレータを起動する際にどの映像ソースを使うかを選択できそうですが、カメラ一覧を取得してもwebcam0しか表示されず任意の映像ソースを選択する方法はわかりませんでした。