2

ビデオファイルからサムネイル画像を抽出しようとしています。ユースケースでは、ビデオの1秒おきにビットマップ画像が必要です。MediaMetadataRetrieverを使用してみましたが、問題は、時間に関係なく同じフレームが返されることです。 。

これは私が試したコードです

MediaMetadataRetriever retriever = new MediaMetadataRetriever(); 
            retriever.setDataSource(PATH); 
             for(int i = 0; i< 10 ;i++) {

                Bitmap bmp = retriever.getFrameAtTime(i * 1000, MediaMetadataRetriever.OPTION_CLOSEST);
                imgList.add(bmp);
                System.out.println(imgList.size());

            }

フレームを定期的に取得するための他の実行可能な解決策はありますか?

4

1 に答える 1

3

MediaMetadataRetrieverの時間は、マイクロ秒単位で指定されます。

2秒でフレームを取得するには、次の電話をかける必要があります。

Bitmap bmp = retriever.getFrameAtTime(2 * 1000000, MediaMetadataRetriever.OPTION_CLOSEST);

MediaMetadataRetrieverは、この非常に正確なタイムスタンプに関係なく、1秒間同じフレームを返すことがわかりましたが、要件に応じて機能するはずです。

于 2012-08-10T17:02:33.380 に答える