暂停/启动AVAudioPlayer没有毛刺弹出

时间:2010-11-22 16:00:34

标签: iphone audio ios avaudioplayer

我正在播放使用AVAudioPlayer的长音频文件(20秒左右)。我需要能够暂停并在文件中间启动。当音频播放时我暂停或开始播放时,音频开始或结束时会有明显的“弹出”声。

我已经能够通过快速淡出来改善这种情况(使用 performSelector:withObject:afterDelay 多次设置音量。但声音仍然有点小故障技术。

有没有标准的方法来启动/暂停AVAudioPlayer没有这些故障?

2 个答案:

答案 0 :(得分:1)

尝试在暂停时将-prepareToPlay发送到AVAudioPlayer对象。这将预加载声音。

如果这不起作用,请尝试通过减少performSelector:withObject:afterDelay中的延迟来加速淡出。疯了,毫秒。

如果这也不起作用,请尝试使用更清晰,质量更高的音频文件(没有无关背景噪音)

如果这些都不起作用,请详细说明您的应用中的音频文件的使用方式。

答案 1 :(得分:0)

使用其中一个较低级别的API(音频队列或RemoteIO)。在一些PCM样本上平滑地将乘法因子从1.0增加到0.0。将该因子用于您自己的DSP音频混音器中的逐个样本增益因子。重新启动时从0.0到1.0斜坡。线性或缓入/缓出的半余弦曲线。