5

ビデオのフレームを取得しようとしているので、次のように MediaMetadataRetriever.getFrameAtTime() を使用しています。

    Uri directorio = Uri.parse("android.resource://com.extremeye/" + R.raw.video);
    media = new MediaMetadataRetriever();
    media.setDataSource(this, directorio);

    frame = (ImageView)findViewById(R.id.frame);
    Bitmap bmFrame = media.getFrameAtTime();
    frame.setImageBitmap(bmFrame);

しかし、問題は私が得ることです:

MediaMetadataRetriever getFrameAtTime: videoframe は null ポインターです

logCat で。

ビデオは Android OS と互換性があり、MediaMetadataRetriever はそれをロードすると確信しています。これは、2.3.3 OS バージョンで問題なくメタデータの説明を取得できるためです。

フレームを取得できない理由はわかりませんが、4.2 OS バージョンを使用すると、完全に動作します。ビデオのコーデックとフォーマットを変更しようとしましたが、うまくいきません...フォーマットの互換性の問題だと思いますが、どうすればよいかわかりません...

ありがとう!!

4

1 に答える 1

2

実際、私はこの外部ライブラリの FFmpegMediaMetadataRetriever クラスを使用しており、うまく機能しています!!

于 2013-11-04T17:01:39.773 に答える