停止或恢复AVAudioPlayer'滴答'

时间:2010-10-19 23:44:45

标签: iphone objective-c cocoa-touch xcode avaudioplayer

我有一个约2分钟的.aifc文件,我正在使用AVAudioPlayer播放。当我发送stop时,我听到了一个简短的'滴答'。当我发送play之后,我又听到了滴答声。

我在发送volumeplay方法之前尝试将stop设置为0,但这不起作用。

当您将音箱与音频源断开连接时,音调与您听到的声音有些相似,但是非常短(并且声音很小)。

关于如何摆脱嘀嗒声的任何想法?

2 个答案:

答案 0 :(得分:0)

任何平台上的音频播放机制在停止和重新启动音频时都会产生这样的滴答声,这是很正常的。要避免这个问题,不要通过调用stop突然停止播放,而应该首先在短时间内将音量从1.0降低到0.0(几毫秒就足够了),然后stoppause。当您恢复播放时,您可以通过将音量从0.0上升到1.0来反转该过程。

抱歉,我不知道足够的iPhonistics告诉你如何做这样的基于计时器的操作。我很惊讶AVAudioPlayer库已经没有这样做了,但是我确信还有其他音频API。

更新:再想一想,算了吧。使用计时器降低音量是一个可怕的想法,将无法正常工作。你需要一个更高分辨率的计时器,而不是一个可以避免踩下效果的计时器,这会产生一系列的滴答声和爆音而不是一个。

使用其他一些API。

答案 1 :(得分:0)

通过将音量设置为0.0而不调用stop来解决问题,然后在短时间内调用stop。根本没有勾选!