2010-11-28 101 views
12

我正在製作一款遊戲,並希望有一個遊戲音樂的背景循環,並在其上面有兩個不同的聲音效果通道。我想控制這些頻道的音量。我看着fmod,但它超出了我的預算。現在我正在看Apple提供的MixerHostAudio示例。這是一個明顯的例子,但有一點點冗長,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 2016-06-30 15:05:25

回答

11

可以使用AVAudioPlayer的背景環路和Finch自解壓。兩者都很容易處理。你必須自己在Finch上面編寫通道音量控制,但這也不難,只是一組具有通用音量控制的聲音。

+0

感謝您將我指向AVAudioPlayer和Finch。我可以只使用多個AVAudioPlayers嗎?根據文件,似乎我可以有多個,他們應該混合,沒有嘗試。 – Bemmu 2010-11-28 23:15:26

12

CocosDenshion Sound Engine does everything你想要的。

它是瑣碎使用一旦你在你的項目中得到它。

CocosDenshion是Cocos2D的聲音部分。

我個人並不在乎Cocos2D(當然,很多人喜歡它並使用它)。

但是聲音的CocosDenshion做你想做的一切沒有問題。是的,它同時具有BG循環和SFX。它管理所有內存等。

它很容易使用CocosDenshion(只需將幾個文件複製到您的項目) - 沒問題。 (你不必爲整個Cocos2D情況而矇騙......你只需安裝Denshion部分。)

希望它有幫助!

0

我使用的是SoundMaster引擎。它比CocosDension聲音引擎要好得多,因爲ARC支持,內存管理和許多其他功能,如淡入/淡出,或相對體積的效果。