视频滑块不同步

红尘若梦_ 2014-04-14 12:02:03
播放视频时,通过滑块来控制预览视频,视频随鼠标的变化是同步的,但是滑块不同步,会延后一定的时间,请问有什么办法可以解决这个问题,初步的想法是将滑块当前位置前后的若干个主帧解析出来保存在内存中,当进行控制的时候直接将视频主帧从内存中取出,然后设置滑块的位置,请各位大神指点下...
...全文
117 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
红尘若梦_ 2014-04-14
  • 打赏
  • 举报
回复
引用 4 楼 derekrose 的回复:
你的意思是你用鼠标移动滑块后 视频没播放的时候 滑块自己往后滑动? 那不应该啊 必须要和视频同步播放啊 你控制一下滑块开始移动的时间
滑块的移动延后,视频跳到了指定位置,但是滑块没有变化,过一段时间才变化,这是在连续滑动的时候出现的问题,鼠标直接点击到播放进度条的某个位置没有问题
derekrose 2014-04-14
  • 打赏
  • 举报
回复
你的意思是你用鼠标移动滑块后 视频没播放的时候 滑块自己往后滑动? 那不应该啊 必须要和视频同步播放啊 你控制一下滑块开始移动的时间
赵4老师 2014-04-14
  • 打赏
  • 举报
回复
MVC
红尘若梦_ 2014-04-14
  • 打赏
  • 举报
回复
引用 1 楼 derekrose 的回复:
那不同步的那段时间是什么时间?
只要往前滑动的时候都会这样,跟时间没有关系,我设置的是每次滑动的时候将鼠标的位置转化为时间戳然后解析这个时间戳的的视频,然后滑动滑块,有可能是视频解析需要时间而这段时间就造成了滑块的移动延后
derekrose 2014-04-14
  • 打赏
  • 举报
回复
那不同步的那段时间是什么时间?
红尘若梦_ 2014-04-14
  • 打赏
  • 举报
回复
谢谢各位热心的帮助,虽然说还不知道怎么解决,但是已经有很大的帮助了,先结贴,如果有什么好的解决方法,希望各位不吝赐教
红尘若梦_ 2014-04-14
  • 打赏
  • 举报
回复
引用 12 楼 derekrose 的回复:
引用 11 楼 u014704154 的回复:
[quote=引用 10 楼 derekrose 的回复:] [quote=引用 8 楼 u014704154 的回复:] [quote=引用 6 楼 derekrose 的回复:] 就是drag的时候有bug click的时候正常工作 对吧
对,就是这样的
drag和click的handle函数不同吧 你看看他们是哪个地方不同 难道handle函数是底层api??[/quote] 我们这里以drag功能不完整,以前是moved以后直接显示滑动到的那个地方,这个过程中视频和滑块都不改变,然后现在要做一个同步的功能,我结合以前的API接口,就出现了这些问题[/quote] 以前的代码相当于是 把drag分解成click的动作 现在需要一个渐进性的展示 你是这个意思吗[/quote]对就是这样的!
__cc__ 2014-04-14
  • 打赏
  • 举报
回复
呵呵,这是一个与系统API无关,而是和技术相关的问题。只能点到为止了。
derekrose 2014-04-14
  • 打赏
  • 举报
回复
引用 11 楼 u014704154 的回复:
引用 10 楼 derekrose 的回复:
[quote=引用 8 楼 u014704154 的回复:] [quote=引用 6 楼 derekrose 的回复:] 就是drag的时候有bug click的时候正常工作 对吧
对,就是这样的
drag和click的handle函数不同吧 你看看他们是哪个地方不同 难道handle函数是底层api??[/quote] 我们这里以drag功能不完整,以前是moved以后直接显示滑动到的那个地方,这个过程中视频和滑块都不改变,然后现在要做一个同步的功能,我结合以前的API接口,就出现了这些问题[/quote] 以前的代码相当于是 把drag分解成click的动作 现在需要一个渐进性的展示 你是这个意思吗
红尘若梦_ 2014-04-14
  • 打赏
  • 举报
回复
引用 10 楼 derekrose 的回复:
引用 8 楼 u014704154 的回复:
[quote=引用 6 楼 derekrose 的回复:] 就是drag的时候有bug click的时候正常工作 对吧
对,就是这样的
drag和click的handle函数不同吧 你看看他们是哪个地方不同 难道handle函数是底层api??[/quote] 我们这里以drag功能不完整,以前是moved以后直接显示滑动到的那个地方,这个过程中视频和滑块都不改变,然后现在要做一个同步的功能,我结合以前的API接口,就出现了这些问题
derekrose 2014-04-14
  • 打赏
  • 举报
回复
引用 8 楼 u014704154 的回复:
引用 6 楼 derekrose 的回复:
就是drag的时候有bug click的时候正常工作 对吧
对,就是这样的
drag和click的handle函数不同吧 你看看他们是哪个地方不同 难道handle函数是底层api??
红尘若梦_ 2014-04-14
  • 打赏
  • 举报
回复
引用 7 楼 neustar1 的回复:
引用 5 楼 u014704154 的回复:
[quote=引用 4 楼 derekrose 的回复:] 你的意思是你用鼠标移动滑块后 视频没播放的时候 滑块自己往后滑动? 那不应该啊 必须要和视频同步播放啊 你控制一下滑块开始移动的时间
滑块的移动延后,视频跳到了指定位置,但是滑块没有变化,过一段时间才变化,这是在连续滑动的时候出现的问题,鼠标直接点击到播放进度条的某个位置没有问题
如果直接点击到播放条某个位置,这种情况称为seek,实现很简单。定位到指定位置,然后播放那一帧。 而如果是拖动进度条,这种情况是seekplay,这时候,界面进度条处理函数要与播放器分开,相当于进度条拉动的时候,不断给播放器发送请求的解码帧序号,播放器得到解码帧序号,然后解码播放。这里有一点要注意的就是,seekplay状态下请求队列中的请求解码序号要合并。譬如拖动发送的解码请求是0,1,2,3,.....,播放器每次读视频帧的时候不是按照这个0,1,2,3去读解码的,而是取出当前队列中的最大帧序号去解码,忽略之前的。 滚动条 0,1,2,3,4,5,6,。。。。。。 解码 0--------2 ------4---------6,这个取决于解码的速率。 [/quote]这个当前队列中最大帧是指什么
红尘若梦_ 2014-04-14
  • 打赏
  • 举报
回复
引用 6 楼 derekrose 的回复:
就是drag的时候有bug click的时候正常工作 对吧
对,就是这样的
__cc__ 2014-04-14
  • 打赏
  • 举报
回复
引用 5 楼 u014704154 的回复:
引用 4 楼 derekrose 的回复:
你的意思是你用鼠标移动滑块后 视频没播放的时候 滑块自己往后滑动? 那不应该啊 必须要和视频同步播放啊 你控制一下滑块开始移动的时间
滑块的移动延后,视频跳到了指定位置,但是滑块没有变化,过一段时间才变化,这是在连续滑动的时候出现的问题,鼠标直接点击到播放进度条的某个位置没有问题
如果直接点击到播放条某个位置,这种情况称为seek,实现很简单。定位到指定位置,然后播放那一帧。 而如果是拖动进度条,这种情况是seekplay,这时候,界面进度条处理函数要与播放器分开,相当于进度条拉动的时候,不断给播放器发送请求的解码帧序号,播放器得到解码帧序号,然后解码播放。这里有一点要注意的就是,seekplay状态下请求队列中的请求解码序号要合并。譬如拖动发送的解码请求是0,1,2,3,.....,播放器每次读视频帧的时候不是按照这个0,1,2,3去读解码的,而是取出当前队列中的最大帧序号去解码,忽略之前的。 滚动条 0,1,2,3,4,5,6,。。。。。。 解码 0--------2 ------4---------6,这个取决于解码的速率。
derekrose 2014-04-14
  • 打赏
  • 举报
回复
就是drag的时候有bug click的时候正常工作 对吧

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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