我是Objective-C的新手,對處理基本音頻的正確方法感到非常困惑。我有一個簡單的遊戲完成,但一直與聲音問題鬥爭了幾天。在簡單的iOS遊戲中,音頻的最佳方法是什麼?
這是我的理解:
AVAudioPlayer:似乎非常適合玩更長的聲音,例如音樂主題覆蓋遊戲。
AudioServicesPlaySystem聲音:似乎理想的快速聲音效果,少於30秒。
當然,我會繼續思考我將使用AVAudioPlayer作爲主題音樂和SystemSound作爲我的音效。不幸的是,我立即注意到一個非常討厭的問題 - 這兩個是由不同音量來源控制的(SystemSoundServices使用鈴聲音量??)並且一般不會在一起玩。這不可能是大多數應用程序使用的設置。
然後我放棄了AudioServicesPlaySystemSound方法,並重新編程了AVAudioPlayer中的所有內容。這對音量很好,但造成可怕的滯後,無法處理快速的聲音序列。這對聲音效果似乎不太有用。
我現在正在研究OpenAL,它對於我的簡單遊戲來說似乎是嚴重的矯枉過正。所以有人請賜教 - 我錯過了什麼或是OpenAL是處理這種常見的音樂/ sfx遊戲格式的最佳方式?
「在AVAudioPlayer中對所有內容進行了重新編程,這對音量起到了很好的作用,但造成可怕的滯後,無法處理快速的聲音序列」然後你做錯了。顯示你如何做。 – matt
順便說一下,新的AVAudioEngine呢?對於遊戲來說,這非常完美,正如WWDC 2014視頻中的討論所展示的那樣。 – matt