我想用videoview逐帧播放。 我有这个:VideoView和逐步播放(逐帧)
mVideoView.seekTo(mVideoView.getCurrentPosition()+ 1);
但是在此之后,我没有看到框架,直到我点击播放......我不想那样,我只是想看到下一帧。
此外 - 我可以做同样的前一帧?
在此先感谢。
我想用videoview逐帧播放。 我有这个:VideoView和逐步播放(逐帧)
mVideoView.seekTo(mVideoView.getCurrentPosition()+ 1);
但是在此之后,我没有看到框架,直到我点击播放......我不想那样,我只是想看到下一帧。
此外 - 我可以做同样的前一帧?
在此先感谢。
它暂停时不会查找。但是,如果您使用SurfaceView和MediaPlayer,因为VideoView没有onSeekComplete回调函数,所以您可以在查找后立即暂停。
public void seek() {
mediaplayer.start();
mediaplayer.seekTo(mediaplayer.getCurrentPosition()+1);
}
public void onSeekComplete(MediaPlayer mp) {
mediaplayer.pause();
}
这将寻求和显示的东西。不幸的是,你会发现这不允许你逐帧播放。
您可以使用MediaMetadataRetriever来选择所需的帧,然后使用MediaMetadataRetriever.getFrameAtTime(long timeUs)将其作为BitMap获取。它将比使用MediaPlayer更好地工作。
我希望它是有用的。
你能详细说明一下吗? – user1767754 2015-01-06 20:15:05
@ user1767754 [This](http://android-er.blogspot.kr/2013/05/get-image-frame-in-video-using.html)可能会帮助您使用MediaMetadataRetriever以获取框架。 – 2015-05-28 11:43:48