HelloCpp工程没有引入CocosDenshion,引入方法如下:
1)做如下设置
2)在HelloWorldSence.cpp中引入头文件
#include "SimpleAudioEngine.h"
3)将资源文件放置Resources目录下,比如:D:\Cocos2D-X\cocos2d-2.0-x-2.0.4\samples\HelloCpp\Resources
4)播放音乐相关代码如下:
// 预先加载背景音乐
//CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("huahuo.mp3");
//播放背景音乐
//CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("huahuo.mp3",true);
// 预先加载音效
CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("铁血丹心.mp3");
// 播放音效
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("铁血丹心.mp3");
CCLog("play musie mp3...");
该代码可以放置于void HelloWorld::onEnter() 中。
程序不需要音乐时,需要调用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
播放音效的相关函数:
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());//卸载音效