// Play video when the media source is ready for playback.
mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mMediaPlayer.start();
// mMediaPlayer.getDuration();
MediaMetadataRetriever mMMR = new MediaMetadataRetriever();
mMMR.setDataSource(FILE_NAME, new HashMap<String, String>());
String time = mMMR.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
Bitmap bitmap;
int fps = 24;
int deltaT= (int)1/fps;
for (int time_ms=1;time_ms<Integer.valueOf(time)*1000;time_ms+=24){
bitmap = mMMR.getFrameAtTime(5000);
if (bitmap==null) break;
}
}
});
我尝试连接MediaMetadataRetriever
,但视频未播放。
有趣的是如何以异步方式实现它:视频正在播放,在背景上我们拍摄照片例如5秒的视频?
答案 0 :(得分:0)
TextureView具有SurfaceTexture。您可以在5s循环中使用此功能:
Bitmap bitmap = SurfaceTexture.getBitmap([with,height])