cocos2d-x 音樂與音效

1.背景音樂

要使用一個音樂,首先要預加載這個音樂,預加載的方法如下

SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( CCFileUtils::fullPathFromRelativePath(MUSIC_FILE) );

MUSIC_FILE就是音樂文件相對Res文件夾的相對路徑

然後就可以播放了,播放的方法如下

SimpleAudioEngine::sharedEngine()->playBackgroundMusic(std::string(CCFileUtils::fullPathFromRelativePath(MUSIC_FILE)).c_str(), true);

第一個參數中的MUSIC_FILE就是音樂文件相對Res文件夾的相對路徑,然後再轉換爲絕對路徑,第二個參數就是是否循環播放,由於是背景音樂,我們定爲true

其他函數

SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();//停止背景音樂,可以代一個布爾型參數,表示是否釋放音樂文件

SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();//暫停背景音樂

SimpleAudioEngine::sharedEngine()->rewindBackgroundMusic();//重頭調用背景音樂

SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying()//返回布爾型參數,是否在放着背景音樂

SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5);//設置音量0.0-1.0

2.音效

使用音效,和使用音樂類似,也需要預加載,用法如下

SimpleAudioEngine::sharedEngine()->preloadEffect( CCFileUtils::fullPathFromRelativePath(EFFECT_FILE) );

EFFECT_FILE就是音樂的相對Res文件夾的相對路徑

然後播放就可以了

m_nSoundId=SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str());

m_nSoundId=SimpleAudioEngine::sharedEngine()->playEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str(), true);

和背景音樂一樣,第二個參數是可選的,如果是true就是循環播放,否則就是隻播一次

其他函數

SimpleAudioEngine::sharedEngine()->stopEffect(m_nSoundId);//停止音效,可以選擇單獨停掉一個音效,通過創建時的m_nSoundId停止

SimpleAudioEngine::sharedEngine()->stopAllEffects();//停止全部音效

SimpleAudioEngine::sharedEngine()->pauseEffect(m_nSoundId);//暫停單個音效

SimpleAudioEngine::sharedEngine()->resumeEffect(m_nSoundId);//重新開始音效

SimpleAudioEngine::sharedEngine()->pauseAllEffects();//暫停全部音效

SimpleAudioEngine::sharedEngine()->resumeAllEffects();//重新開始全部音效

SimpleAudioEngine::sharedEngine()->setEffectsVolume(0.5);//設置音效音量

SimpleAudioEngine::sharedEngine()->unloadEffect(std::string(CCFileUtils::fullPathFromRelativePath(EFFECT_FILE)).c_str());//卸載音效

最後要記住,在程序不需要音樂時,要SimpleAudioEngine::sharedEngine()->end();釋放sharedEngine()

剛開始研究此引擎,如有錯誤之處,希望大家多多指正

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章