2010-10-19 59 views
1

我有大约2分钟,我使用AVAudioPlayer播放.aifc文件。当我发送stop时,我听到一个简短的“嘀嗒”。当我发送play后,我再次听到勾号。AVAudioPlayer“滴答”停止或恢复时,

在发送playstop方法之前,我尝试将volume设置为0,但这样做并不奏效。

蜱是有点类似,当你从它的音频源断开speakerset你听到的声音,但真的很短(少了很多响亮的ofcourse)。

关于如何摆脱滴答的任何想法?

+0

您是否尝试过使用其他文件格式?我有那个勾号,并改为MP3和WAV。从那以后没有问题。 – Thomas 2010-10-20 10:28:20

+0

这并没有帮助不幸。 – Rits 2010-10-20 13:17:32

回答

0

问题通过将音量设置为0.0而不需要拨打stop,然后在短时间后拨打stop来解决。根本没有勾号!

+0

这很有趣。 AVAudioPlayer必须足够智能以逐渐降低音量,而不是瞬间降低音量。 – MusiGenesis 2010-10-20 14:33:26

+0

是的,显然不是。无论如何,谢谢你的帮助! – Rits 2010-10-20 18:53:18

0

这是任何平台上的音频回放机制停止和重新启动音频时,产生这样的蜱还算正常。为了避免这个问题,而不是通过调用stop突然停止播放,你应该首先从1.0音量斜坡下降到0.0以上的短时间(几毫秒充足),然后stoppause。当您恢复播放时,您将通过将音量从0.0增加到1.0来恢复音量。

对不起,我不知道够不够iPhonistics告诉你如何做一个基于定时器的操作是这样的。我很惊讶AVAudioPlayer库不会这样做,但是我确实有其他的音频API。

更新:关于第二个想法,算了吧。用计时器降低音量是一个可怕的想法,并且不起作用。你需要一个分辨率高得多的定时器,以避免产生一种降低效果,这会产生一系列滴答声和爆音,而不仅仅是一种。

使用其他一些API。