Ijkplayer: ios seek 已经缓冲了的位置,又重新缓冲了?可不可以通过设置options来设置不重新缓冲?如果不可以,要怎么修改源码呢?

Created on 7 Nov 2017  ·  9Comments  ·  Source: bilibili/ijkplayer

Most helpful comment

同问

All 9 comments

根据你seek的位置,去packetQueue中找,如果已经缓存了,那么清掉之前的缓存,从你seek的这个位置开始播。

谢谢回答,我的意思比如现在播放到300s,缓冲到500s的位置了,是调用setCurrentPlaybackTime,直接跳到400s,但是又开始从400s的位置开始缓冲了,有没有什么方法不清空缓冲,还是接着之前的500s缓冲?

你没有听懂我的意思吗?这种情况根本不用调用FFmpeg的seek命令,需要你改ijk的源码,你seek的时候,判断缓存中有没有,有的话你把300s到400s的缓存丢掉,从400s开始播放,ijk中的FFmpeg会继续从500s下载。

如果你不懂我说的什么 我建议你去看ffplay的源码,你要求的这个功能是需要改源码的。

嗯,明白意思了,谢谢

不客气。写一个接口判断seek的位置是否已经缓存,没有缓存的话就是正常的ijk seek命令。有的话,就需要你自己写逻辑去处理packet queue。

请问有无示例,源代码也太难看懂了

同问

同问

你们解决了吗,我也遇到这样的问题了

Was this page helpful?
0 / 5 - 0 ratings