Подтвердить что ты не робот

Самый удобный способ воспроизведения звука в iOS-играх?

Я делаю игру и хочу иметь фоновый цикл игровой музыки, а поверх нее есть два разных канала звуковых эффектов. Я хотел бы контролировать объем этих каналов. Я посмотрел на fmod, но это было вне моего бюджета. Теперь вместо этого я смотрю пример MixerHostAudio, предоставленный Apple. Это наглядный пример, но немного затянутый, состоящий из 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];
4b9b3361

Ответ 1

Вы можете использовать AVAudioPlayer для фонового цикла и Finch для SFX. Оба легко работать. Вы должны написать регулятор громкости канала выше Finch самостоятельно, но это также не сложно, просто массив звуков с общим регулятором громкости.

Ответ 2

CocosDenshion Sound Engine делает все.

тривиально использовать, как только вы получите его в своем проекте.

CocosDenshion является звуковой частью Cocos2D.

Я лично лично не забочусь о Cocos2D (хотя, конечно, многие любят его и используют).

Однако CocosDenshion для звука делает все, что вам нужно без проблем. Да, он работает как с петлями BG, так и с SFX. Он управляет всей памятью и т.д.

Легко использовать CocosDenshion (просто скопируйте несколько файлов в свой проект) - не проблема. (Вам не нужно обманывать всю ситуацию Cocos2D... вы просто устанавливаете только раздел Denshion.)

Надеюсь, что это поможет!

Ответ 3

Я использую SoundMaster движок. Это намного лучше, чем CocosDension Sound Engine, из-за поддержки ARC, управления памятью и многих других функций, таких как fade in/out или относительные объемы для эффектов.