2017-05-10 27 views
0

私はコマンドを使用してAndroidのエミュレータ画面をキャプチャしています:「adbシェルのscreencap」よりも速いコマンドですか?

adbのシェルSCREENCAPを

を/sdcard/screencap.pngしかし、コマンドを実行し、保存するために500msのように取っている-p PNGファイルには、画面データをキャプチャするより速い方法がありますか?私は実際にPNGファイルを作成するのではなく、ピクセルの色を読み込むために.NETビットマップクラスに読み込むので、PNGファイル自体は必要ありません。単にイメージデータです。

エミュレータ画面の1秒間に10枚の画像を再生する必要があるため、画像をキャプチャするためのより速い方法が必要です。ビデオファイルを生成するための画面を記録することは私にとっては解決策ではありません。

ありがとうございました

+0

あなたはどこのデータを使用していますか? PNGをデバイスから取り出して、別の場所で処理していますか? – CommonsWare

+0

私はMEmuエミュレータを使用していますので、/ sdcardに保存すると、コンピュータ上の共有フォルダに保存されます –

+0

あなたの質問にMEmu開発者に連絡しましたか? – CommonsWare

答えて

0

AFAIK、ターゲットデバイスにアプリケーションを作成して実行する以外は、このような方法はありません。その後、ネットワーク経由で送り返します。エミュレータの状況では、adb forwardを使用してください。

詳細はcreateVirtualDisplayを参照してください。

+0

スクリーンショットを撮る方が早いでしょうか?それとも、Androidデバイス/エミュレータと通信する別の方法ですか? –

+0

@IgorM 'adb'のヘルプを確認してください。これは480Mbps未満の理想的な最高速度(USB 2.0標準)でのポート転送です。ほとんどの場合、20Mbps以上を提供しています。 – Ben

0

古い質問ですが、adb shell screencap screen.dumpを試すことができます。これは、ファイルをpngに変換するステップをスキップし、16進数で読み取ることができるファイルを生成します。

ヘッダーが12バイトあり、ファイルはRGBAとして位置(0,0)(左上)のピクセルカラーで始まります。

ファイルの最終サイズは、ディスプレイのサイズによって異なります。

関連する問題