CocosDenshion 声音模块在Cocos2d-x引擎中是一个非常独立的内容,可以理解为一个跨平台的声音引擎,
结构
SimpleAudioEngine 外观模式
CDAudioManager
iOS
Android
Win32
BlackBerry
Linux
CDSoundManager
背景音乐操作函数:
//获得SImpleAudioEngine的单例对象,将会在第一次调用时创建对象
static SimpleAudioEngine *shareEngine()
//释放单例对象 此函数在游戏退出时必须调用 最好写在析构中
static void end()
关于背景音乐的操作函数
void preloadBackgroundMusic(const char *pszFilePath)
//预先加载背景音乐
void playBackgroundMusic(const char *pszFilePath,bool bLoop)
//播放背景音乐,参数为:音乐文件路径和名称,是否循环播放
void playBackgroundMusic(const char *pszFilePath)
//播放背景音乐,参数为:音乐路径和名称
void stopBackgroundMusic(bool bReleaseData)
//停止背景音乐的播放,参数为:是否释放声音资源
void stopBackgroundMusic()
//停止背景音乐的播放
void pauseBackgroundMusic()
//暂停背景音乐的播放
void resumeBackgroundMusic()
//恢复背景音乐的播放
void rewindBackgroundMusic()
//回放背景音乐的播放
bool willPlayBackgroundMusic()
//返回是否将要播放背景音乐
bool isBackgroundMusicPlaying()
//返回是否正在播放背景音乐
float getBackgroundMusicVolume()
//获得当前背景音乐播放音量
void setBackgroundMusicVolume(float volume)
//设置当前背景音乐播放音量
关于音效的操作函数
float getEffectsVolume();
//获得当前音效的音量大小(0.0~1.0)
void setEffectsVolume(float volume);
//设置音效播放音量的大小
unsigned int playEffect(const char* pszFilePath,bool bLoop = false);
//播放声音,参数为:音效文件名包含路径,是否循环播放。
//返回参数为音效的编号
void pauseEffect(unsigned int nSoundId);
//暂停音效,参数为:暂停音效的Id
void pauseAllEffects();
//暂停所有的音效
void resumeAllEffect();
//恢复所有音效
void resumeAllEffect(unsigned int nSoundId);
//恢复音效的播放,参数为:指定音效
void stopEffect(unsigned int nSoundId);
//停止音效播放,参数为:指定音效
void stopAllEffect();
//停止所有音效播放
void preLoadEffect(const char* pszFilePath);
//预加载音效,参数为:音效文件名包含路径
void unLoadEffect(const char* pszFilePath);
//卸载音效,参数为音效文件名包含路径