Android アプリには、SurfaceView ホルダーを備えた MediaPlayer があります。MediaPlayer はビデオを完璧にストリーミングします。次のコードは、スナップショットを取得するために使用されます。
vSurfaceHostingMediaPlayer.setDrawingCacheEnabled(true);
Bimap bm = vSurfaceHostingMediaPlayer.getDrawingCache(false);
ここで、vSurfaceHostingMediaPlayer は MediaPlayer をホストする SurfaceView です。得られたビットマップは正しい寸法 (つまり、幅と高さ) を持ちますが、常に均一な黒です。
上記の同じコードを同じアプリの ImageView に適用すると、完全に機能します。
MediaPlayer で再生されたビデオのスナップショットを取得する正しい方法は何ですか?