首页 > 代码库 > cocos2dx3.1.1如何播放声音

cocos2dx3.1.1如何播放声音

1,加载

CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("music.mid");

CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("pew-pew-lei.wav");

这两句,分别读取了背景音乐文件和音效文件

2,播放

CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("music.mid", true);

CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("pew-pew-lei.wav");

这两句分别是播放音乐和音效

3,停止

CocosDenshion::SimpleAudioEngine::sharedEngine()->stopBackgroundMusic(false);

这句是停止播放音乐。

相关的还有暂停等接口,但是我在win32下测试暂停后无法恢复,不知是什么原因,大家自己进这个类的头文件看看,接口很少。

// 预先加载背景音乐
//CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("huahuo.mp3");  
//播放背景音乐
//CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("huahuo.mp3",true); 


程序不需要音乐时,需要调用SimpleAudioEngine::sharedEngine()->end();释放sharedEngine()。


其他播放音效的相关函数

SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();//停止背景音乐,可以代一个布尔型参数,表示是否释放音乐文件
SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();//暂停背景音乐
SimpleAudioEngine::sharedEngine()->rewindBackgroundMusic();//重头调用背景音乐
SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()//返回布尔型参数,是否在放着背景音乐
SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5);//设置音量0.0-1.0</span>


<span style="font-family:Microsoft YaHei;font-size:18px;">preloadEffect( );
playEffect();
stopEffect();//停止音效,可以选择单独停掉一个音效,通过创建时的m_nSoundId停止
stopAllEffects();//停止全部音效
pauseEffect(m_nSoundId);//暂停单个音效
resumeEffect(m_nSoundId);//重新开始音效
pauseAllEffects();//暂停全部音效
resumeAllEffects();//重新开始全部音效
setEffectsVolume(0.5);//设置音效音量
unloadEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str());//卸载音效</span>


cocos2dx3.1.1如何播放声音