根据你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。
请问有无示例,源代码也太难看懂了
同问
同问
你们解决了吗,我也遇到这样的问题了
Most helpful comment
同问