Open ghost opened 8 years ago
少一个seek to time啊
这个我也碰到了,内部缓冲多少播放的判断很迷,自己找找应该可改好
@snowimba 你要改好了,告诉我,阿里嘎多
设置currentTime即可
@icharlie2014 我没说不能设置,设置了,会缓存完整个音频文件,再开始播放 网速要是差的话,很明显
http://7xqzul.com1.z0.glb.clouddn.com/58E43095-53B3-4AEA-BA37-ADB6B20AF388.png DOUAudioDecoder.m 这个文件下面的345-367行就是判断是否是缓存状态的,只要改这里就行了,我没看懂他一堆数值的计算,所以最简单的方法就是把这里注释掉,然后在外面自己判断是否是缓存状态就行。我尝试了注释后自己写判断也一样可行。不会再有那种要完全缓存完才能播放的问题了~希望可以帮助到你~!
@snowimba 非常感谢,我赶紧改了试试。
如果你注释了这里就必须要自己在外面写缓存逻辑,暂停播放和开始播放,要不会有问题。如果你自己改好了他的这个逻辑,也希望能告诉下我~谢谢,一堆数字计算实在看的头大······
@snowimba 我能说我现在弄了两套,https://github.com/tumtumtum/StreamingKit 这个还行,还算比较稳定 就是没找见缓存在哪儿
这个我也看了,不过我们这边需求是必须要缓存~~~
@snowimba 我们也要加,暂时先延后了,没那么重要。我得先找见怎么清缓存,不然缓存大的吓人
seek to progress: 0.457143 milliseconds:150597
[DOUAudioDecoder seekToTime:] 计算的结果: frames:6641327.700000 packets:5765.041406 packetNumebr:5765
[DOUAudioDecoder decodeOnce] 计算的结果: dataOffset = 130 expectedDataLength = 5,271,013 receivedDataLength = 199,972 packetNumber = 5,798 bytesPerPacket = 1,052 packetDataOffset = 6,099,496
packetDataOffset > expectedDataLength
造成seek异常,是否是_decodingContext.inputFormat.mSampleRate和mFramesPerPacket的问题,导致计算packetNumber错误?@lembacon
重现音频:http://file.xrkcdn.com/group1_M00_00_16_wKgerFYKUaOATxylAFBt5TLplxI994.mp3
网络差,播放时,如果没有缓冲完成,直接快进,需要等全部缓冲完成才可以播放 我音频30M,需要30M全部缓冲,这个肯定不行 能不能直接从当前设置的时间开始缓冲,播放