AndroidStudioではLogcatのScreen Record
からエミュレーターの操作をキャプチャできます。
のですが、どういうわけかこんな風に画面がチラつきまくってまともにキャプチャできない! 困った!
Win+Alt+Rで録画する
というわけでショートカットキーWin+Alt+R
からキャプチャをしていきます。
録画がスタートすると次のような録画コントローラーが表示されます。
録画開始時にアクティブなウィンドウのみがキャプチャされる点にご注意ください。
(エミュレーターのキャプチャではむしろトリミングの必要がなくて便利ですね)
停止ボタンか、もう一度Win+Alt+R
を押すと録画が終了します。
録画が終了するとダイアログが表示されます。
アナウンスの通りWind+G
でGame Barを開いてもよいのですが、録画されたmp4ファイルは所定のフォルダに自動で保存されます。
C:\Users\(ユーザー名)\Videos\Captures
がデフォルトかな?
ちなみにこのキャプチャは本来はGame Bar(正式名称はXBox Game Bar)の機能のようです。
あんま意識したこと無いけど。
注意点
念のためいくつか。
マウスポインタが映り込む
アクティブウィンドウ上のマウスが一緒にキャプチャされてしまいます。
邪魔と言えば邪魔ですが、エミュレーターを録画するならアプリでどんな操作をしているかが分かるので良し悪しでしょうか。
タップ操作が分かりにくい
本来のScreen Record
ではShow Tap
という機能を有効にするとどこをタップしているのか分かりやすく表示してくれます。
が、このやり方だとそれができません。代わりにマウスを見てね、って感じ。
画面サイズの変更は不可
キャプチャ対象ウィンドウのサイズを変更するとその時点で録画が終了してしまいます。
エクスプローラー、デスクトップのキャプチャは不可
前述の通りアクティブウィンドウをキャプチャする機能です。なのでエクスプローラーやデスクトップの操作を録画することはできません。
gifファイルに変換
こっからは余談ですが、キャプチャしたmp4ファイルをgifに変換していきます。
編集ソフト使っても良いのですが自分は簡単にコマンドから実行できるのでffmpeg
を使っています。
ダウンロードはこちらから。
(Macならターミナルでbrew
を使ってインストールできます)
mp4→gifへの変換は以下のコマンドを実行します。
ffmpeg -i (変換対象ファイル名).mp4 (変換後ファイル名).gif
このままだと記事にアップロードするにはサイズが大きいのでリサイズします。
縦横比を自由に編集ることもできますが、いちいちエミュレーターで起動しているスマホの縦横比を調べるのも面倒なのでwidthにあわせてheightを自動で調整してくれるオプションを使います。
ffmpeg -i (変換対象ファイル名).mp4 -vf scale=320:-1 (変換後ファイル名).gif
-vf scale=320:-1
ってところがそうですね。自分はだいたいwidthに320pxを指定しています。
本来のやり方①(ScreenRecord)
参考までに本来のやり方もメモしておきます。
AndroidStudioでView→Tool Windows→Logcatを選択。
エミュレーターを起動するとLogcatウィンドルの左下にあるカメラのマークをクリックします。
ダイアログが表示されます。
ビットレートと解像度を指定してねって言ってます。まぁデフォルトで良いでしょう。タップを分かりやすく表示したい場合はShow Tap
にチェックを入れいます。
キャプチャした内容は.webm形式で保存されます。
公式ドキュメントはこちら。
本来のやり方②(エミュレーターから)
エミュレーターからキャプチャを開始することもできます。
オプションの一番下の・・・
のアイコンを選択。
Extended Control画面が開くので、Record and Playback
タブを選択します。
中央にStart Recording
というボタンがあるのでここをクリックしてキャプチャを開始します。