关于Android VideoView SeekTo不精确的问题

「已注销」 2014-08-05 10:40:42
Android VideoView的SeekTo不精确,比如说我定位到 91800,但是视频总是从87000开始,纠结了好几天,不知道如何处理。
另外,OnSeekCopmlete 我也追踪了,在播放状态下Complete处,获得getcurrectPosition是 87000,在Pause状态下,Complete中,getcurrectPosition是91800,可是mediaplayer.start()以后,还是从87000开始
...全文
1367 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
keep_thinking_94 2015-12-30
  • 打赏
  • 举报
回复
最近在开发视频广告组件,也遇到了题主说的问题。我用的原生的VideoView,未使用vitamio。在解决问题的过程中,发现这其实跟seekTo的用法无关,而是视频源本身的跳转定位决定的。

在试验技术预研的demo时,发现seekTo跳转的位置其实并不是参数所带的position,而是离position最近的关键帧位置。

关于视频的关键帧建议可以去了解一下相关知识,大致上就是视频播放时需要从一个关键帧的位置开始。

当然,在StackOverflow上也有关于seekTo是异步执行的解答。考虑到这一点,建议恢复播放的start方法,最好是在seek完成时的seekComplete回调方法中执行。

因此,如果在seekTo用法正确的情况下,视频播放还是出现跳转不准的问题,很大程度是视频源的问题。建议对视频源用FFmpeg进行增加关键帧的处理。
小林望北 2014-08-25
  • 打赏
  • 举报
回复
seekto很多问题,水平有限不知道什么问题。。。同求!
「已注销」 2014-08-13
  • 打赏
  • 举报
回复
算了,看来没答案,结贴了
「已注销」 2014-08-12
  • 打赏
  • 举报
回复
SeekTo问题看来无法解决,是不是要把视频每一帧都转为关键帧呢?
Darcy杨 2014-08-07
  • 打赏
  • 举报
回复
引用 4 楼 lvsrp2009 的回复:
我之前遇到过画面和声音不同步是不是也是这个问题啊?
有可能把,反正我seek完了也经常音视频不同步
Darcy杨 2014-08-07
  • 打赏
  • 举报
回复
引用 2 楼 youngc527 的回复:
这应该涉及到视频编码了,seek只能seek到关键帧,否则无法播放,91800的位置不是关键帧,所以会往前找,直到找到关键帧,87000应该就是关键帧的位置了。
解码的时候咋增加关键帧?编码的时候倒是可以设置,不过应该解决不了seek的问题吧
龙龙娃_无双 2014-08-07
  • 打赏
  • 举报
回复
我之前遇到过画面和声音不同步是不是也是这个问题啊?
「已注销」 2014-08-07
  • 打赏
  • 举报
回复
大神,您好,请问那是不是要对视频进行增加关键帧,这种方法处理呢?有没有别的办法呢?
Darcy杨 2014-08-06
  • 打赏
  • 举报
回复
这应该涉及到视频编码了,seek只能seek到关键帧,否则无法播放,91800的位置不是关键帧,所以会往前找,直到找到关键帧,87000应该就是关键帧的位置了。
「已注销」 2014-08-05
  • 打赏
  • 举报
回复
各位大神,帮帮忙,我都晕死了,我都开始怀疑是不是android本身的问题啊!

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧