2011-05-12 96 views
0

在Xcode 3.2.5中,我想從單個UIButton按順序播放多個音頻文件(50+)。我嘗試了幾個代碼,但他們泄漏了內存。有什麼建議麼?我仍然在學習,所以請包括頭文件和implimentation文件代碼。我提前感謝。Xcode:多個音頻文件,單按鈕

回答

1

使用音頻隊列服務(AudioToolbox/AudioQueue.h)中的接口。爲要播放的每個聲音創建一個音頻隊列對象。然後使用AudioQueueEnqueueBufferWithParameters函數爲每個音頻隊列中的第一個音頻緩衝區指定同時開始時間。

以下限制涉及在iPhone OS同步的聲音,視音頻數據格式:

AAC,MP3,和ALAC(蘋果無損)音頻:你可以扮演多種AAC,MP3,和ALAC格式的聲音同時;播放這些格式的多種聲音將需要CPU資源進行解碼。 線性PCM和IMA/ADPCM(IMA4音頻):您可以同時播放多個線性PCM或IMA4格式的聲音,無需擔心CPU資源。
play multiple sounds simultaneously

+0

謝謝,但這不是我想到的。我想通過按一個按鈕來播放一連串的聲音。 – Mark 2011-05-13 21:51:14

0

這僅僅是概念性的,但對於(a)創建要播放(這可以在運行時)聲音名稱的數組,以正確的順序,然後(b)寫一個功能拍攝每個soundHandler類型的對象都會檢查它在數組中的位置;如果它不是最後一個,它會構造一個soundPlayer,加載聲音,播放,然後調用數組中的下一個soundHandler。 (如果最後它只是構造/加載/播放,並且可能會通知父節點已完成)。每個soundHandler(我只是編寫它,您必須編寫它)然後可以在完成時自動釋放它。

如果遇到延遲/加載問題,可以讓每個soundHandler在數組中調用n + 2,然後檢查它是否倒數第二個而不是結尾。

更多你在想什麼?