2011-02-03 56 views
0

我需要在我的iPhone應用程序播放聲音(〜每5秒)。當他們被觸發時,他們需要立即玩。AudioServices(容易),AVAudioPlayer(中),OpenAL的(硬矯枉過正?)

對於我使用AudioServices和(你可能知道)你第一次播放聲音它滯後,那麼每次它是完善的售後服務的時刻。是否有一些可用的代碼足以巧妙地預加載AudioServices聲音(通過默默地播放它?)。我已閱讀以編程方式調整系統卷將拒絕您的應用程序,所以這不是一個選項。似乎AudioServices不是用於我所能看到的音量修正。

我已經研究過的OpenAL和可行的,同時超必殺似乎有點。 AVAudioPlayer似乎是一個更好的選擇,目前我正在將它用於背景音樂。擴展我的音樂播放器以處理「音效板」可能是我最後的選擇。

上的OpenAL的話題,沒有人知道一個體面的(應用程序商店友好)的OpenAL包裝爲iPhone的地方?

在此先感謝

回答

1

Finch可能是您的最佳選擇。這是OpenAL的一個小包裝,具有非常低的延遲和簡單的API。另見全部SO questions tagged ‘Finch’

+0

芬奇是完美的,非常感謝你! – Timbo 2011-02-04 02:30:45

1

如果使用AVAudioPlayer,您可以撥打prepareToPlay在初始化對象,以減少調用play和具有音頻開始之間的延遲。

+0

最後一次檢查,但仍有約20毫秒的延遲甚至稱`prepareToPlay`後。如果海報可以忍受這一點,那可能就是完美的解決方案。 – zoul 2011-02-03 08:57:20

相關問題