我想用videoview逐帧播放。我有这个:
mVideoView.seekTo(mVideoView.getCurrentPosition()+1);
但在此之后,直到我点击播放,我才看到帧......我不想要那个,我只想看到下一帧。
另外 - 我可以对前一帧做同样的事情吗?
提前致谢。
我想用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) 将其作为位图获取。它会比使用 MediaPlayer 好得多。
我希望它是有用的。