[英]AVAudioPlayer - Drop in Framerate
我有一個簡單的問題:我正在將一個 mp3 文件加載到 NSData object 中,然后在我的游戲中使用 AVAudioPlayer 播放它。 每隔一秒左右,幀速率就會下降,您會在屏幕上看到卡頓現象。 這不是一個重大的放緩,但明顯明顯並擾亂了游戲玩法。 不使用 AVAudioPlayer 播放音樂曲目一點也不慢。
我怎樣才能防止這種情況發生?
謝謝你。
弗洛里安
為了將來參考,這里是解決方案:
將音頻 session 類別設置為 kAudioSessionCategory_AmbientSound(以允許 iPod 音樂同時播放)以某種方式禁用 MP3 硬件加速。 將音頻類別設置為 kAudioSessionCategory_SoloAmbientSound 可以修復此問題,但不允許 iPod 播放。 我現在根據是啟用還是禁用背景音樂來設置音頻 session 類別以允許同時播放 iPod。
mp3 是一種編碼/壓縮的音頻格式。 您可以嘗試降低采樣率(例如,嘗試使用 64 kb/s 而不是 128 kb/s)或切換到非編碼格式,例如線性 pcm。 缺點是:前者的音頻質量較低,后者的文件較大。 但這有助於提高應用的整體性能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.