2009-04-04 3 views
5

私はiPhoneゲームを開発中で、現在、背景音楽とサウンドを再生するためにAVAudioPlayerを使用しています。 私が読んできたことから、それが最善の方法であるかどうかはわかりませんが、他の選択肢はあまりに複雑すぎるようです。良いiPhoneサウンドマネージャーのフレームワークですか?

iPhoneで動作し、統合可能なオープンソースのフレームワークはありますか?私は、異なるゲームイベントに基づいて音量とトリガー音を制御するだけです。

明確化: AVAudioPlayerは1つのサウンドを再生する必要がありますが、複数のサウンドを設定していくつかのキーに基づいて再生するラッパークラスが必要です。

答えて

3

あなたのメッセージから、AVAudioPlayerがあなたのニーズを満たしているかどうかは不明です。一方では、あなたが遭遇した欠点は何も言及していませんでしたが、他方では、代替案を求めるときにはいくつかのことが示唆されています。

AVAudioPlayerがあなたのニーズを満たしている場合、なぜ人生は困難になるのですか?

AVAudioPlayerがあなたのニーズを満たしていない場合は、誰かが何かをすることができますが、あなたが探しているものを推測する前に必要なものを説明する必要があります。

+0

AVAudioPlayerは私のニーズを満たしていますが、1つのサウンドだけを再生するのに便利です。私はいくつかのサウンドを設定し、異なるイベントに基づいて演奏するラッパーが好きです。 自分でコードを作成する前に、代替があるかどうか疑問に思いました。 – pgb

2

AppleがMoon Landerのサンプルコードアプリケーションに含まれているサウンドエンジンは、一度に複数のサウンドを再生することができます。

+0

このサンプルコードはSDK 2.2に含まれなくなりました。それを引っ張った理由があるかどうか知っていますか? – pgb

2

AVAudioPlayerを使用できます。それぞれのサウンドは、そのクラスの別のインスタンスになります。辞書や配列内のすべてのサウンド(プレーヤー)をホールドします。配列を索引付けするか、または辞書からキーを取得することで、それぞれを簡単に演奏できます。それぞれのサウンドには自分の音量を持たせることができますし、配列を繰り返したり、すべての音量を好きなレベルに設定することもできます。

覚えておくべきポイントのいくつか:1.タイムリーにサウンドを再生する必要がある場合は、ファイルからロードした直後に-prepareToPlayメソッドを使用します。 2.サウンドを停止すると、-prepareToPlayは取り消されます。サウンドを一時停止する場合は、もう一度再生する前に、currentTimeプロパティを0に設定して、サウンドが最初から開始するようにしてください。