2011-02-03 5 views
0

私のiPhoneアプリケーション全体で音を再生する必要があります。彼らが誘発されると、すぐに遊ぶ必要があります。AudioServices(簡単)、AVAudioPlayer(中)、OpenAL(ハード&オーバーキル?)

私がAudioServicesを使用している瞬間には(初めて知ったように)、サウンドが最初に再生されたときには遅れており、その後はいつでも完璧になっています。 AudioServicesサウンドをプリロードするのに賢明なコードがいくつかありますか?私はプログラムでシステム容量を調整して読んだことがあるので、あなたのアプリは拒否されてしまうので、それはオプションではありません。 AudioServicesは私が見ることのできる音量補正のために作られていないようです。

私はOpenALに目を通しましたが、実現可能なことは少し殺されたようです。 AVAudioPlayerはもっと良い選択肢のように思えますが、私は現時点でバックグラウンドミュージックに使用しています。私の音楽プレーヤーを拡張して「サウンドボード」を扱うのが私の最後の手段かもしれません。

OpenALの話題で、誰かがiPhone用のまともな(アプリストアにやさしい)OpenALラッパーを知っていますか?あなたはAVAudioPlayerを使用している場合は、オブジェクトを初期化する際に、事前

答えて

1

Finchはあなたに最適かもしれません。これは非常に短い待ち時間とシンプルなAPIを備えたOpenALのラッパーです。すべてをご参照ください。questions tagged ‘Finch’

+0

フィンチが完璧です、ありがとうございます! – Timbo

1

おかげで、あなたはplayを呼び出し、オーディオ開始を持つの間の遅延を減らすためにprepareToPlayを呼び出すことができます。

+0

最後にチェックされたとき、 'prepareToPlay'を呼び出した後でさえまだ約20msの待ち時間がありました。もしポスターがこれで生きることができれば、それはおそらく完璧な解決策です。 – zoul