cocos2d-x開發 之 聲音引擎SimpleAudioEngine

SimpleAudioEngine是cocos2d-x中的聲音引擎,它控制着在遊戲中的聲音。

而且它是一個全局靜態類,至始至終只會有一個且全局能訪問。

話不多說我們來介紹一下吧

要使用SimpleAudioEngine引擎當然得手動添加頭文件啦

#include "simpleAudioEngine.h"
using namespace CocosDenshion;

因爲它是一個單例模式設計的所以使用getinstance。

CocosDenshion::SimpleAudioEngine::getInstance()->preloadBackgroundMusic("music/bgm.mp3");//預加載音樂

BackGroundMusic是bgm也就是背景音樂的意思,preload是預加載的意思。

預加載的好處是,先加載文件,在後面用到時速度比讀取要快很多,在大型遊戲開發中預加載的優勢會比直接讀取要快很多。

預加載之後就可以隨心所欲的用啦!

CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic("music/bgm.mp3");
//開始播放音樂

CocosDenshion::SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
//暫停bgm音樂

CocosDenshion::SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
//繼續bgm音樂

當然暫停和繼續是基於開始播放了bgm音樂的,所以無需文件路徑。

還有一些別的方法

virtual void rewindBackgroundMusic() //重新播放背景音樂。

virtual bool willPlayBackgroundMusic()  //判斷背景音樂是否可以播放。

virtual bool isBackgroundMusicPlaying() //判斷背景音樂是否在播放。

virtual float getBackgroundMusicVolume() //獲取背景音樂音量。

virtual void setBackgroundMusicVolume(float volume) //設置背景音樂音量,值域[0.0f,1.0f]。 

在遊戲當中我們按下某個按鈕的時候也會有音效,攻擊也會有音效,當然

SimpleAudioEngine也有控制音效的啦!

virtual float getEffectsVolume() //獲取即時音效的音量。

virtual void setEffectsVolume(float volume) //設置即時音效的音量,值域[0.0f,1.0f]。 

virtual void preloadEffect(const char* pszFilePath)  //預加載音效,參數是文件路徑。

virtual void unloadEffect(const char* pszFilePath) //卸載音效。

virtual unsigned int playEffect(const char* pszFilePath,bool bLoop=false,float pitch=1.0f,float pan=0.0f,float gain=1.0f) //播放即時音效,參數一是文件路徑,參數二表示是否循環,參數三表示基因頻率,參數四表示左右聲道是否均衡,值域[-1,1],參數五表示音量衰減係數,值域[0.1]。

virtual void pauseEffect(unsigned int nSoundid) //暫停播放即時音效,參數爲編號。

virtual void resumeEffect(unsigned int nSoundid) //繼續播放即時音效,參數爲編號。

virtual void stopEffect(unsigned int nSoundid) //停止播放即時音效,參數爲編號。

virtual void pauseAllEffect() //暫停播放所有音效。

virtual void resumeAllEffect() //繼續播放所有音效。

virtual void stopAllEffect() //停止播放所有音效

類方法參考了https://blog.csdn.net/GladiolusLai/article/details/52575222

 

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