cocos2d 使用SimpleAudioEngine加载音乐音效
来源:互联网 发布:淘宝云客服没有招聘 编辑:程序博客网 时间:2024/04/27 14:07
游戏音乐与音效
cocos2d中使用SimpleAudioEngine可以很简单的播放背景音乐和音效
背景音乐默认是循环播放的,音效默认是播放一次,而且一般情况音效都是很短的。
下面我们首先来分析一下SimpleAudioEngine这个类
这个类中有三个属性(backgroundMusicVolume,effectsVolume,willPlayBackgroundMusic)但是没有用到我也不明白他们为什么要定义这三个属性
+ (SimpleAudioEngine*) sharedEngine
获取单例的方法
-(void) preloadBackgroundMusic:(NSString*) filePath
加载背景音乐,通过这个方法可以把游戏中需要用到的背景音乐提前加载好
-(void) playBackgroundMusic(NSString*)filePath;
-(void) playBackgroundMusic(NSString*)filePath loop:(BOOL) loop;
filePath:文件路径(项目中的文件名)
loop:播放循环 YES是循环播放 NO是播放一次 缺省了loop则默认为YES
-(void) stopBackgroundMusic;
停止背景音乐
-(void) pauseBackgroundMusic;
暂停背景音乐
-(void) resumeBackgroundMusic;
恢复播放背景音乐
-(void) rewindBackgroundMusic;
倒回,即重新开始播放背景音乐
-(BOOL) isBackgroundMusicPlaying
判断背景音乐是否正在播放
-(ALuint) playEffect:(NSString*) filePath;
ALuint :是无符号整形变量(unsigned int)同义词,即别名。这个返回值表示播放的音效ID。
filePath :文件路径
-(void) stopEffect:(ALuint) soundId;
在这里我们可以通过soundId,来停掉某一个音效,soundId的值是上一个方法获取到的。
-(void) preloadEffect:(NSString*) filePath;
加载音效,通过这个方法我们可以把游戏中用到的音效,都预先加载好,音效都会放在一个数组中,在播放的时候,直接根据filePath找到相应的音效播放。
-(void) unloadEffect:(NSString*) filePath;
释放某一个音效
-(CDSoundSource *) soundSourceForFile:(NSString*) filePath;
这个方法我们可以通过filePath来获取相应的音效的配置信息(CDSoundSource),CDSoundSource属性中有soundId,当我们想要停止某一个音效的时候可以通过这个方法来获取soundId。
-(void) setMute:(BOOL) muteValue
禁声,muteValue 值为YES时没有声音,相反则有声
-(void) setBackgroundMusicVolume:(float) volume
设置背景音乐音量volume这里如果不设置的话默认为1.0f,值越大音量越大
-(float) backgroundMusicVolume
获取背景音乐音量值
-(void) setEffectsVolume:(float) volume
设置音效音量volume这里如果不设置的话默认为1.0f,值越大音量越大
-(float) effectsVolume
获取音效音量值
//下面是常用的方法
加载背景音乐
[[SimpleAudioEngine sharedEngine] preloadBackgroundMusic:@"background.mp3"];
播放背景音乐
[[SimpleAudioEngine sharedEngine] playBackgroundMusic:@"background.mp3"];
暂停背景音乐
[[SimpleAudioEngine sharedEngine] puseBackgroundMusic];
继续播放背景音乐
[[SimpleAudioEngine sharedEngine] resumeBackgroundMusic];
停止背景音乐
[[SimpleAudioEngine sharedEngine] stopBackgroundMusic];
播放音效
[[SimpleAudioEngine sharedEngine] playEffect:@"effect1.wav"];
加载音效
[[SimpleAudioEngine sharedEngine] preloadEffect:@"effect1.wav"];
设置噤声
[[SimpleAudioEngine sharedEngine] setMute:YES];
设置音量
[[SimpleAudioEngine sharedEngine] setBackgroundMusicVolume:0.5f];
[[SimpleAudioEngine sharedEngine] setEffectsVolume:2.0f];
我把这些常用的方法封装了一下这里把代码提供给大家参考
- cocos2d 使用SimpleAudioEngine加载音乐音效
- cocos2d-x (音效音乐)SimpleAudioEngine
- cocos2d-x (音效音乐)SimpleAudioEngine
- cocos2d-x 音效音乐 SimpleAudioEngine
- 【转】cocos2d-x (音效-音乐)SimpleAudioEngine
- Cocos2d-x游戏开发之SimpleAudioEngine 音乐音效
- 使用cocos2d的SimpleAudioEngine播放背景音乐和音效
- 使用cocos2d的SimpleAudioEngine播放背景音乐和音效
- cocos2d-x 音乐音效
- cocos2d-x 音乐音效
- Cocos2d-x 音乐/音效
- 缓存与预加载技术(图片缓存CCSpriteFrameCache、动画缓存 CCAnimationCache、纹理缓存CCTextureCache、音乐音效SimpleAudioEngine)
- cocos2dx基础篇——音乐音效SimpleAudioEngine
- cocos2d-x 添加背景音乐和音效-SimpleAudioEngine
- cocos2d-x 音乐与音效
- cocos2d-x 音乐以及音效
- cocos2d-x 音乐与音效
- cocos2d-x 音乐/音效设置
- Memcached 结构分析
- 【Cocos2D-X 游戏引擎】初窥门径(1) 制作一个动态的精灵
- Java:Struts2之Action基础与配置
- 好论坛批量添加友情链接 by xiaoH
- JAVA集合小结
- cocos2d 使用SimpleAudioEngine加载音乐音效
- JTextPassword中的getText()方法过时的问题
- 第6周-项目4-三角形类
- Tomcat类加载机制概述
- FileInputStream输出到控制台式遇到的输出问题
- web图片资源
- 获取当前运行代码的类名,方法名,行号
- memcached-内存管理机制slab allocator
- 谈谈怎么实现Oracle数据库分区表