Cocos2d-x学习笔记(二十九)之 声音
2013-08-27 18:37
337 查看
Cocos2D-x中采用SimpleAudioEngine类来实现跨平台的声音引擎。
1、Cocos2D-x在不同平台下支持的背景音乐格式如下:
android:android.media.MediaPlayer类支持的格式,包括MP3、WAV和3GP。
IOS:Cocos2D-iPhone中CocosDenshion支持的类型,推荐MP3和CAF。
Win32:MID和WAV。
2、Cocos2D-x在不同平台下支持的音效格式如下:
android:对于OGG格式支持最好,同时支持WAV格式。
IOS:Cocos2D-iPhone中CocosDenshion支持的类型、推荐CAF。
Win32:MID和WAV。
3、SimpleAudioEngine类的主要成员函数:
preloadBackgroundMusic:预加载背景音乐。
playBackgroundMusic:播放背景音乐。
stopBackgroundMusic:停止背景音乐。
pauseBackgroundMusic:暂停背景音乐。
resumeBackgroundMusic:重新开始背景音乐。
rewindBackgroundMusic:回放背景音乐。
willPlayBackgroundMusic:是否会播放背景音乐。
isBackgroundMusicPlaying:是否正播放背景音乐。
getBackgroundMusicVolume:获得背景音乐音量。
setBackgroundMusicVolume:设置背景音乐音量。
getEffectsVolume:获得音效音量。
setEffectsVolume:设置音效音量。
playEffect:播放音效,参数为文件路径和是否循环。
pauseEffect:暂停音效,参数为播放时获得的ID号。
pauseAllEffects:暂停所有音效。
resumeEffects:开始音效,参数为播放时获得的ID号。
resumeAllEffects:开始所有音效。
stopEffect:停止音效,参数为播放时获得的ID号。
stopAllEffects:停止所有音效。
preloadEffect:预加载音效。
unloadEffect:将预加载的音效从缓存中删除。
SimpleAudioEngine类的使用示例如下:
注:预加载声音会使得程序在游戏中的执行效率提高,但是这样会增加内存的占用。在实际使用的时候要根据项目特点来达到效率和内存压力的平衡。
1、Cocos2D-x在不同平台下支持的背景音乐格式如下:
android:android.media.MediaPlayer类支持的格式,包括MP3、WAV和3GP。
IOS:Cocos2D-iPhone中CocosDenshion支持的类型,推荐MP3和CAF。
Win32:MID和WAV。
2、Cocos2D-x在不同平台下支持的音效格式如下:
android:对于OGG格式支持最好,同时支持WAV格式。
IOS:Cocos2D-iPhone中CocosDenshion支持的类型、推荐CAF。
Win32:MID和WAV。
3、SimpleAudioEngine类的主要成员函数:
preloadBackgroundMusic:预加载背景音乐。
playBackgroundMusic:播放背景音乐。
stopBackgroundMusic:停止背景音乐。
pauseBackgroundMusic:暂停背景音乐。
resumeBackgroundMusic:重新开始背景音乐。
rewindBackgroundMusic:回放背景音乐。
willPlayBackgroundMusic:是否会播放背景音乐。
isBackgroundMusicPlaying:是否正播放背景音乐。
getBackgroundMusicVolume:获得背景音乐音量。
setBackgroundMusicVolume:设置背景音乐音量。
getEffectsVolume:获得音效音量。
setEffectsVolume:设置音效音量。
playEffect:播放音效,参数为文件路径和是否循环。
pauseEffect:暂停音效,参数为播放时获得的ID号。
pauseAllEffects:暂停所有音效。
resumeEffects:开始音效,参数为播放时获得的ID号。
resumeAllEffects:开始所有音效。
stopEffect:停止音效,参数为播放时获得的ID号。
stopAllEffects:停止所有音效。
preloadEffect:预加载音效。
unloadEffect:将预加载的音效从缓存中删除。
SimpleAudioEngine类的使用示例如下:
//预加载音乐和音效 SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(MUSIC_FILE) ); SimpleAudioEngine::sharedEngine()->preloadEffect( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath( EFFECT_FILE ) ); //设置音乐和音效的音量 SimpleAudioEngine::sharedEngine()->setEffectsVolume( 0.5 ); SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume( 0.5 );
注:预加载声音会使得程序在游戏中的执行效率提高,但是这样会增加内存的占用。在实际使用的时候要根据项目特点来达到效率和内存压力的平衡。
//播放背景音乐 SimpleAudioEngine::sharedEngine()->playBackgroundMusic( std::string( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath( MUSIC_FILE )).c_str() , true ); //停止背景音乐 SimpleAudioEngine::sharedEngine()->stopBackgroundMusic(); //暂停背景音乐 SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); //播放音效,不循环播放 m_nSoundId = SimpleAudioEngine::sharedEngine()->playEffect( std::string( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE) ).c_str() ); //播放音效,循环播放 m_nSoundId = SimpleAudioEngine::sharedEngine()->playEffect( std::string( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE) ).c_str(), true ); //停止音效播放 SimpleAudioEngine::sharedEngine()->stopEffect(m_nSoundId); //从缓存中删除音效 SimpleAudioEngine::sharedEngine()->unloadEffect( std::string( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE) ).c_str() );
相关文章推荐
- cocos2d-x学习笔记-box2d实现物理引擎新旧版本的不同
- 【Cocos2d-X开发学习笔记】第21期:动画类(CCAnimate)的使用
- 【Cocos2d-X开发学习笔记】第21期:动画类(CCAnimate)的使用
- cocos2d学习笔记(四)CCLabelTTF和CCLabelBMFont
- 【Cocos2d-X开发学习笔记】第24期:事件处理机制之加速度传感器事件
- Cocos2d-x学习笔记(九)纹理CCTexture2D和精灵CCSprite
- 阿J的cocos2d-x学习笔记-元素消消看(一)-精灵的创建
- cocos2d-xna-TweeJump学习笔记2(都是自己看别人代码后所感所想,希望有懂的人指出我的错误或者大家交流交流)
- 五毛的cocos2d-x学习笔记05-场景与场景动画,动作
- Cocos2d-x学习笔记(一)之 cocos2d-x简介
- cocos2d-x学习笔记02:绘制基本图元
- cocos2d-x 学习笔记(4)cocos2d-x 小游戏类似打地鼠(含源码)
- cocos2d-x学习笔记3 Tiled Map Editor地图编辑器
- Cocos2d-x学习笔记(十四)CCAutoreleasePool具体解释
- cocos2d-x学习笔记18:内存管理01:概述
- Cocos2d-x 3.x学习笔记:猩先生带你打飞机(一)环境与创建项目
- 我的Cocos2d-x学习笔记(三)游戏逻辑架构与HelloWorld分析
- Cocos2d-x学习笔记二_第一个小游戏
- cocos2d-x学习笔记02:绘制基本图元
- cocos2d 学习笔记1_基础知识