我试图在Android的视频中寻找一个特定的位置,但由于它的行为不一致,我被完全困住了。这是我做过的事情的清单
为什么这样不一致?是否有明确的方式来寻求你想去的地方,以毫秒为单位的视频视图?我知道我应该使用MediaPLayer + Surface,但是由于VideoView只是两者的包装器,所以我在源代码上对它进行了修改,但没有效果。
我知道这一点:http://code.google.com/p/android/issues/detail?id=9135,但是有什么办法可以绕过这件事,并且有一个明确的方法
1.)寻求准确的时间(毫秒) 2.)在确切的时间暂停和恢复?
发布于 2017-12-12 19:34:58
您必须等待寻求完成.
VideoView没有OnSeekCompleteListener(),但是可以从VideoView的onPrepared方法访问MediaPlayer,然后设置OnSeekCompleteListener,如下所示:
videoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setOnSeekCompleteListener(new OnSeekCompleteListener() {
@Override
public void onSeekComplete(MediaPlayer mp) {
//Seek completed. Move seekbar
}
});
}
});
发布于 2022-08-15 13:45:31
发布于 2017-12-15 11:12:57
我知道这不是你问题的正确解决方案,但是看看这个在Google默认视频视图上创建的库
https://github.com/brianwernick/ExoMedia
它拥有默认视频视图支持的所有功能和更多功能。
您可以使用此视频视图和emVideoView.seekTo(1000);
跳转到视频中的1000毫秒。您还可以让setOnSeekCompletionListener
在寻求完成时进行处理。
https://stackoverflow.com/questions/12939159
复制相似问题