Sto cercando di recuperare i frame dai file video catturati dalla fotocamera. Ho scritto una funzione di farlo e lo uso in un ciclo con tempi diversi, ricevere trame ogni 100000 (micro sec):getFrameAtTime() restituisce Same Frame
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;
}
So quel dato momento deve essere contenuto nel microsecondi e ho cercato that.No importa cosa, getFrameAtTime() restituisce sempre lo stesso frame.
Il problema potrebbe essere perché si utilizza 100_000 come un secondo quando 1 secondo = 1_000_000. –