2015-03-02 60 views
0

我想用一個AVAudioPlayer的單個實例來處理幾個不同的快速音效,可能以任何順序被觸發,等等一個AVAudioPlayer播放多個聲音而無需重新初始化?

據我所看到的,只有這樣,才能改變要播放的音頻文件是用initWithContentsOfURL:重新初始化播放器。

因此,有兩個問題:既然這就是我現在正在做的事情,那還好嗎?重新分配的更多開銷等。我應該關心嗎?並且,有沒有辦法將所有四個文件放在那裏,並告訴它一次只加載一個文件,但不是按順序(即使用AVQueuePlayer)?

回答

1

如果文件很短(聽起來像),我建議將它們加載到AVAudioBuffer中,並安排這些緩衝區在正確的時間在AVAudioPlayer上播放。

關於AVAudioEngine實踐中的WWDC talktranscript)。

+0

不幸的是,這只是iOS8,但不錯的建議! – Luke 2015-03-03 09:17:24

+0

您能否更具體地瞭解您的操作系統版本? – 2015-03-03 17:48:30

+0

我針對iOS 7. – Luke 2015-03-04 11:06:47

相關問題