カメラでキャプチャされたビデオファイルからフレームを取得しようとしています。 私がそうするように機能を書いて、私は別の時間のループでそれを使用する、フレームごとに100000(マイクロ秒)を受信:getFrameAtTime()は同じフレームを返します
public static Bitmap getVideoFrame(long time) {
MediaMetadataRetriever mdr = new MediaMetadataRetriever();
mdr.setDataSource(path);
try {
return mdr.getFrameAtTime((time),MediaMetadataRetriever.OPTION_CLOSEST);
} catch (IllegalArgumentException ex) {
ex.printStackTrace();
} catch (RuntimeException ex) {
ex.printStackTrace();
} finally {
try {
mdr.release();
} catch (RuntimeException ex) {
}
}
return null;
}
私は与えられた時間はマイクロ秒でなければなりませんし、私はthat.Noを試みたことを知っています問題は、getFrameAtTime()は常に同じフレームを返します。
1秒= 1_000_000のときに秒のように100_000を使用するため、この問題が発生する可能性があります。 –