当前位置: 代码迷 >> Android >> videoview seekto(),该如何解决
  详细解决方案

videoview seekto(),该如何解决

热度:415   发布时间:2016-04-28 07:58:23.0
videoview seekto()
用seekto()改变视频播放进度,但好像不准确,比如我要seek到10秒处(片子得到的duration是61068,我seekto(10000)),结果它在12秒的地方播放;我seekto(duration),应该是结束的,但还放了一秒的样子才结束。帮小弟分析下这是怎么个回事啊!

------解决方案--------------------
seekTo(int)是异步的,马上就返回了,真正的seek操作可能需要一点时间才能完成。
我理解你在10s的时候seekTo,视频跳到了10s,开始做准备工作,但是12s的时候才准备好,然后开始播放。
SDK和stackoverflow都有这段说明:
The playback position can be adjusted with a call to seekTo(int).
Although the asynchronuous seekTo(int) call returns right way, the actual seek operation may take a while to finish, especially for audio/video being streamed. When the actual seek operation completes, the internal player engine calls a user supplied OnSeekComplete.onSeekComplete() if an OnSeekCompleteListener has been registered beforehand via setOnSeekCompleteListener(OnSeekCompleteListener).