2012-07-02 70 views
0

由於iOS中的系統聲音播放器一次只能播放一種聲音,因此我正在使用AVAudioPlayer。但是,如果我嘗試播放兩個相同的聲音,使用兩個具有相同聲音文件的獨立AVAudioPlayers,則聽起來很嘈雜。AVAudioPlayer多聲音嘈雜

我希望能夠快速連續播放某些聲音,如果用戶輕拍,並聽起來令人愉快,沒有噪音。

建議您爲相同的聲音創建兩個AVAudioPlayer實例,還是停止播放聲音?如果我停止了聲音,當我迅速點擊按鈕時,仍然聽到靜態反饋聲音。如果我等待沉默,那麼一旦清楚就點擊按鈕,但是當我繼續敲擊它時,它會超載或出現什麼問題。

無論如何,只是試圖獲得一個非常簡單的聲音快速連續播放和聲音好吧。

任何反饋意見。

+0

這是線程[玩了一段時間後AVPlayer噪音問題(http://stackoverflow.com/questions/13189240/avplayer-noise-issue-after-playing-a-while/14163021#14163021)相關? [1]: – stephenhouser

+0

我認爲它們是相關的。我記得設備上也存在問題,可能更糟糕。看起來好像聲音水平會最大化並使其突然中斷。我會在下面添加一個答案。 – Christopher

+0

我仍在測試,但我已採取停用會話並在剪輯之間重新激活。從那以後,我沒有遇到過這個問題。所以我進一步懷疑,在我的例子中,它是模擬器或數據流莫名其妙。 – stephenhouser

回答

0

我使用相同的聲音文件創建了2-3個AVAudioPlayer,解決了這個問題(作爲解決方法)。在每個「播放」方法中,我檢查第一個聲音是否仍在播放。如果是這樣,那麼播放第二個版本,依此類推。這似乎很適合我的耳朵。

- (void)playUndo 
{ 
    if ([self isSoundMuted]) return; 

    if ([[self undoPlayer] isPlaying]) 
    { 
     [[self undoPlayerTwo] play]; 
    } 
    else 
    { 
     [[self undoPlayer] play]; 
    } 
}