寻找在VIDeoVIEw中播放的视频并将其恢复时遇到一些问题.
这是我的代码的一部分:
vIDeoVIEw.setonPreparedListener(new MediaPlayer.OnPreparedListener() { @OverrIDe public voID onPrepared(MediaPlayer mp) { mp.start(); mp.setonSeekCompleteListener(new MediaPlayer.OnSeekCompleteListener() { @OverrIDe public voID onSeekComplete(MediaPlayer mp) { Log.d("V", "onSeekComplete1 " + vIDeoVIEw.getCurrentposition()); vIDeoVIEw.start(); Log.d("V", "onSeekComplete1 " + vIDeoVIEw.getCurrentposition()); } }); }});vIDeoVIEw.setVIDeoURI('some local uri');
在某些时候,我正在暂停使用以下视频:
vIDeoVIEw.pause();
单击按钮后,我正在寻找特定时间的视频,例如. 10秒(10000毫秒).
@OnClick(R2.ID.ivMove)voID clickMove() { vIDeoVIEw.seekTo(10000);}
之后,我在日志中看到:
onSeekComplete1 10000onSeekComplete2 0
因此,在调用vIDeoVIEw.start()之后,它从头开始播放视频!
但是,当我在不寻求视频的情况下调用start()时(例如,一个按钮调用了pause(),第二个按钮调用了start(),则视频正在正确播放-从暂停的那一刻开始,而不是从开始.
你能告诉我我在做什么错吗?
解决方法:
问题是由MediaPlayer引起的-它正在寻求最接近视频的关键帧,事实证明我的测试视频每30秒就有一个关键帧.
我更改为ExoPlayer https://github.com/google/ExoPlayer-它可以寻求准确的时间.
总结以上是内存溢出为你收集整理的android-VideoView和MediaPlayer seekTo始终从头开始全部内容,希望文章能够帮你解决android-VideoView和MediaPlayer seekTo始终从头开始所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)