Cocos2D对音乐/音效播放的封装已经很好了,下边是例子:
定义2个文件:
#define MUSIC_FILE "LOLBgMusic.mp3" #define EFFECT_FILE "Attack.wav"
在初始化的时候预加载音乐/音效文件:
//预加载 CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(MUSIC_FILE); CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect( EFFECT_FILE ); //设置音量 CocosDenshion::SimpleAudioEngine::sharedEngine()->setEffectsVolume(0.5); CocosDenshion::SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5);
播放:
//循环播放背景音乐, CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic(MUSIC_FILE,true);
//播放音效 CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect(EFFECT_FILE);
其他相关函数:
// stop background music SimpleAudioEngine::sharedEngine()->stopBackgroundMusic(); // pause background music SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); // resume background music SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); // rewind background music SimpleAudioEngine::sharedEngine()->rewindBackgroundMusic(); // is background music playing SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying() // add bakcground music volume SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(SimpleAudioEngine::sharedEngine()->getBackgroundMusicVolume() + 0.1f); SimpleAudioEngine::sharedEngine()->pauseEffect(m_nSoundId); SimpleAudioEngine::sharedEngine()->resumeEffect(m_nSoundId); SimpleAudioEngine::sharedEngine()->pauseAllEffects(); SimpleAudioEngine::sharedEngine()->resumeAllEffects(); SimpleAudioEngine::sharedEngine()->stopAllEffects();
转载请注明出处:
http://blog.csdn.net/Vestigge