哈哈,我正好在解决这个问题
这是跟程序相关的,你可以理解为设备的驱动程序的问题
与其说是问题不如说是处理手段
我解释一下:
音频在播放中,突然将音量将为0,音量从n(>0)到0中间有较大的间隔,导致会有咔哒的声响。
同样的现象也会出现在:播放声音途中,不断切换播放位置,由于切换处与原来位置的音频的大小不一样,导致断层,发出咔哒声
对于解决手段,可以通过音量渐变的方式减少这种现象的发生。就比如,暂停音量时,让音量在极短的时间内(如30ms)迅速下降,以此来缓和咔哒声。
这里就涉及到如何缓和音量,因此有各种各样的函数算法之类去实现它。越优秀的方法可以更好的减少咔哒声的出现
当然,除了音量渐变的方式外还有其他方式,比如交叉重叠,交叉渐变等
总之,这是设备的程序设计上的问题,好的程序设计会极大减少这种情况的发生
我还特地用网易云试了一下,果然
在快速切换播放位置的时候,确实会有咔哒声,但出现频率并不多
对与暂停与播放来说,网易云采用的音量渐变手段,它设置的渐变时间挺长的,有上百毫秒了吧
所以在快速播放暂停之间几乎感受不到咔哒声(因为声音渐变时间足够长,不会立刻减小导致音量断层)
但代价是你暂停时会有延迟,你会观察到一种情况就是在快速暂停和播放后,音乐的进度可能会增加1到2秒
这增加的时间就是渐变所产生的
嘛,我会写这些也是因为我在寻找解决这个问题的有效手段
所以从结论说,你的飞傲k5pro和dt900x所采用的解决手段一般,而ps3所采用的,要么和网易云是通过增加渐变时常来解决的,要么是使用了更好的算法,或其他更好的方式来解决