2010-11-28 6 views
12

私はゲームを作っていて、ゲームミュージックのバックグラウンドループを持ちたいと思っています。その上にサウンドエフェクトの2つの異なるチャンネルがあります。私はこれらのチャンネルの音量をコントロールしたいと思います。私はfmodを見たが、それは私の予算外だった。代わりに、私はAppleが提供するMixerHostAudioの例を見ています。これは明確な例ですが、2つのサウンドを再生するためにはちょうど1000 +以上の長さになっているので、代わりに何かをしなければならないかと思います。iOSゲームでサウンドを再生する最も便利な方法は?

私の理想的なAPIは次のようになります。

SoundSystem *sounds = [SoundSystem soundSystemWithLoop:@"koto.mp3"]; 
[sounds play:@"chimes.mp3" channel:1 looping:YES volume:0.0]; 
[sounds fadeTo:1.0 channel:1 delay:0.5]; 
[sounds play:@"buddha_bell.mp3" channel:2]; 
+0

昔はCocosDenshion Sound Engineがこれに便利でした。 – Fattie

答えて

11

あなたはSFXのためのバックグラウンドループとFinchためAVAudioPlayerを使用することができます。どちらも使いやすいです。 Finchの上にチャンネル・ボリューム・コントロールを書く必要がありますが、これは一般的なボリューム・コントロールを備えた一連のサウンドだけではありません。

+0

AVAudioPlayerとFinchを私に指摘してくれてありがとう。私は複数のAVAudioPlayersを使うことができますか?ドキュメントによると、私は複数のものを持つことができ、それらはミックスして、まだ試していないはずです。 – Bemmu

+1

あなたはそうすることができますが、サウンドはおそらくゲームのレイテンシが大きすぎます(Finchを書いた理由です)。試してみてください。おそらく 'AVAudioPlayer'が最近よくなってきました。 – zoul

+0

ありがとうございます。それは私の必要性のために十分に速いようです。 – Bemmu

12

ココスデンシオンサウンドエンジンすべてが必要です。

それはあなたのプロジェクトでそれを得ればを使用するのは簡単です。

CocosDenshionはCocos2Dのサウンドパートです。

私は個人的にはCocos2Dを気にしません(しかし、もちろん、多くの人がそれを愛して使います)。サウンドの

しかしCocosDenshionはあなたが問題なくを望むすべてを行います。はい、BGループとSFXの両方を行います。それはすべてのメモリなどを管理します。

CocosDenshion(あなたのプロジェクトにいくつかのファイルをコピーするだけです)は問題ありません。 (あなたはCocos2Dの状況全体に惑わされる必要はありません...単にDenshionセクションのみをインストールします)

0

私はSoundMasterエンジンを使用しています。それは理由ARCサポート、メモリ管理および/アウトフェード、または相対ボリューム効果のためような他の多くの機能を、CocosDensionサウンドエンジンよりもはるかに良いです。

関連する問題