2010-10-19 57 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。