ビデオのフレームを抽出するアプリを開発していますが、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 を使用してフレームを抽出できるので、動画は正しいと思います。
フレームを抽出できない理由がわかりません。ライブラリが私にとってうまく機能する場合、私は非常に満足しています。ありがとう!!