我正在制作游戏,并希望有一个游戏音乐的背景循环,并且它有两个不同的声音效果通道。我想控制这些频道的音量。我看了fmod,但这超出了我的预算。现在,我正在查看Apple提供的MixerHostAudio示例。这是一个明显的例子,但有点啰嗦是1000多行只是为了播放两个声音,所以我想知道我是否应该做其他事情。
我理想的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 :(得分:12)
CocosDenshion Sound Engine可以 所有 。
在您的项目中获得 。
CocosDenshion是Cocos2D的声音部分。
我个人并不关心Cocos2D(当然,很多人都喜欢它并使用它)。
然而 声音的CocosDenshion会毫无问题地完成您想要的一切 。是的,它同时支持BG循环和SFX。它管理所有内存等。
很容易使用CocosDenshion(只需将几个文件复制到您的项目中) - 没问题。 (您不必愚弄整个Cocos2D情况......您只需安装Denshion部分。)
希望它有所帮助!
答案 1 :(得分:11)
您可以将AVAudioPlayer用于后台循环,将Finch用于SFX。两者都很容易使用。你必须自己在Finch上方编写通道音量控制,但这也不难,只是一组具有共同音量控制的声音。
答案 2 :(得分:0)
我正在使用SoundMaster引擎。它比 CocosDension Sound Engine 好得多,因为 ARC 支持,内存管理以及淡入/淡出等许多其他功能效果的强>,或相对量。