CocosDenshion-Cocos2d所使用的音效引擎-SimpleAudioEngine

苹果iOS系统中提供了两个框架用于播放音乐。分别是AVAudioPlayer 和OpenAL
 
AVAudioPlayer AVAudioPlayerAVFoundation框架下,所以需要导入AVFoundation.framework框架。用于播放音频。

OpenAL:是自由软件界的跨平台音效API。比较底层。功能强大。
CocosDenshion音效引擎
幸运的是,在Cocos2d中,我们不必去专门研究AVAudioPlayer OpenAL。我们可以使用Cocos2d,提供的CocosDenshion音效引擎,就可以混合使用AVAudioPlayer OpenAL,来完成我们的音效控制。

CocosDenshion音效引擎提供多个API
1.CDSoundEngine:最底层的,基于OpenAL的,用于控制音效的。可以控制多达32种通道的声音。功能强大,完全可以取代CDAudioManagerSimpleAudioEngine
2. CDAudioManager:是一个基础的,简单的,封装了AVAudioPlayer对象的,用于背景音乐播放的简单API。可以播放MP3IMA4或者AAC 格式的音乐。
3. SimpleAudioEngine:提供一个最简单的声音控制API。如果我们仅仅是要播放一些简单的背景音乐,可以选用该API
了解了原理,那么就可以开始研究了!!!
一、SimpleAudioEngine API的使用
使用前,必须引用相关的类
 
#import "SimpleAudioEngine.h"
背景音乐相关
背景音乐指,贯穿游戏始末的循环音乐。
1.播放背景音乐
 
[[SimpleAudioEngine sharedEngine]playBackgroundMusic:@"bgmusic.mp3" loop:YES];
2.停止播放背景音乐
 
[[SimpleAudioEngine sharedEnginestopBackgroundMusic];
3.暂停播放背景音乐
[[SimpleAudioEngine sharedEnginepauseBackgroundMusic];
4.恢复(暂停后)播放
[[SimpleAudioEngine sharedEngineresumeBackgroundMusic];
5.重新开始播放
[[SimpleAudioEngine sharedEnginerewindBackgroundMusic];
6.判断当前是否在播放背景音乐
 
BOOL isPlaying=[[SimpleAudioEngine sharedEngine] isBackgroundMusicPlaying];
 
音效相关
音效指,游戏过程中某一个(小段)音乐。比如,爆炸,碰撞时,所使用的短音乐。
1.播放音效
 
[[SimpleAudioEngine sharedEngine] playEffect:@"music.mp3" pitch:12.0f pan:5.0fgain:2.0f];
参数:
pitch:音高。
pan:OpenAL中的音源位置。
gain:音量。
2.停止音效
 
ALuint musicId= [[SimpleAudioEngine sharedEngine] playEffect:@"music.mp3" pitch:12.0fpan:5.0f gain:2.0f];
    [[SimpleAudioEngine sharedEngine] stopEffect:musicId];
3.预加载音效
[[SimpleAudioEngine sharedEnginepreloadEffect:@"music.mp3"];
4.从缓存中清除预加载的音效
[[SimpleAudioEngine sharedEngineunloadEffect:@"music.mp3"];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值