1

ビデオのフレームを抽出するアプリを開発していますが、MediaMetadataRetriever は何度も失敗するため使用できません。それで、フレームを抽出するために William Seemann によって書かれた FFmpegMediaMetadataRetriever という外部ライブラリを見つけました。しかし、メソッド FFmpegMediaMetadataRetriever.getFrameAtTime(long time) を使用してビットマップを取得できません。

これは私が試しているコードです:

    FFmpegMediaMetadataRetriever mediaData = new FFmpegMediaMetadataRetriever();
    mediaData.setDataSource("/storage/sdcard0/DCIM/video.mp4");

    frame = (ImageView)findViewById(R.id.frame);
    frame.setImageBitmap(mediaData.getFrameAtTime());

代わりに、動画からメタデータを取得し、MedaMetadataRetriever を使用してフレームを抽出できるので、動画は正しいと思います。

フレームを抽出できない理由がわかりません。ライブラリが私にとってうまく機能する場合、私は非常に満足しています。ありがとう!!

4

1 に答える 1

2

null フレームが返される原因となっていたコードにバグがありました。問題を修正しました。コードの新たなチェックアウトを実行して、再試行してください。

于 2013-08-20T02:52:17.537 に答える