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