iPhoneゲームでサウンドを再生するには何を使いますか? 質問する

iPhoneゲームでサウンドを再生するには何を使いますか? 質問する

パフォーマンスが重視される iPhone ゲームにサウンドを追加したいと考えています。主な選択肢は (1) AVAudioPlayer、(2) オーディオ キュー、(3) OpenAL の 3 つくらいあるようです。サンプルを再生するためだけに低レベルのコードを何ページも書きたくないので、 を使用したいと思いますAVAudioPlayer。問題は、 を使用するとパフォーマンスが低下するように見えることです。 を使用して簡単な測定を行ったところCFAbsoluteTimeGetCurrentplayメッセージが完了するまでに 9 ~ 30 ミリ秒かかるようです。25 ミリ秒 == 40 fps であることを考えると、これはかなり悲惨です。

もちろん、prepareToPlay処理速度を上げる方法があります。そのため、いくつかのAVAudioPlayerサンプルを保持し、事前に準備して、準備したプレーヤーを使用してサンプルを再生する簡単なクラスを作成しました。それでも、前述の約 20 ミリ秒かかります。

このようなパフォーマンスはゲームには使えません。では、iPhoneでまともなパフォーマンスでサウンドを再生するには何を使えばいいのでしょうか? で何か間違っているのでしょうかAVAudioPlayer? サウンドをAudio Queuesで再生していますか?(2.2が出る前にAVAudioPlayerに似たものを書いたことがあるので、その経験を残しておきたいです。) OpenALを使用していますか?もしそうなら、単純OpenAL でサウンドを再生する方法はありますか、それとも何ページものコードを書く必要がありますか?


アップデート:はい、OpenALでサウンドを再生することはかなりシンプル


ベストアンサー1

AVAudioPlayer はゲーム オーディオには非常に限界があります。いずれかの例を適用して AudioQueue または OpenAL に取り組むのが間違いなく最善の方法です。その方がレイテンシーをはるかに制御しやすくなります。

おすすめ記事