cocod2d-x 之 SimpleAudioEngine音效引擎
Cocos2d的音效引擎库CocosDenshion随着引擎一同被分发。除了在游戏中使用外,音效引擎有时也会用在其他软件中。因此,虽然CocosDenshion与游戏引擎捆绑发布,却并不属于游戏引擎的一部分。为了使用音效引擎,只要引入它的头文件即可( 注意命名空间):
using namespace CocosDenshion;
include "SimpleAudioEngine.h"
预加载
void preloadEffect(const char* pszFilePath):用于预加载音效文件,其中pszFilePath为音效文件所在的目录位置。
void preloadBackgroundMusic(const char* pszFilePath):用于预加载背景音乐,其中pszFilePath为音乐文件所在的目录位置。
播放音乐
void playBackgroundMusic(const char* pszFilePath):播放背景音乐,默认不循环
void playBackgroundMusic(const char* pszFilePath, bool bLoop):设为true循环播放
void stopBackgroundMusic():停止播放
void pauseBackgroundMusic():暂停
void resumeBackgroundMusic():恢复
void rewindBackgroundMusic():重新播放背景音乐。
bool isBackgroundMusicPlaying():返回一个布尔类型的值,表示是否正在播放背景音乐。
void unloadEffect(const char*pszFilePath):卸载已预载入的音效文件,以释放系统资源。pszFilePath参数代表预载入音效文件的路径。当不再使用某个音效文件时,我们可以通过调用此函数释放资源。然而,如果再次使用此音效,引擎会再次载入该音效文件,导致消耗大量的时间。
float EffectsVolume属性(get/set):获取或设置音效的音量大小,其取值为0.0到1.0之间的浮点数。注意,对此属性的设置会影响到所有音效的音量大小。
float BackgroundMusicVolume属性(get/set):获取或设置背景音乐的音量大小,其取值为0.0到1.0之间的浮点数。与EffectsVolume属性类似,对此属性的设置也会影响到所有背景音乐的音量大小。
void end():当不再使用音频引擎时,调用此方法来释放SimpleAudioEngine所占用的资源。
unsigned int playEffect(const char* pszFilePath, bool bLoop): 播放音乐特效
void pauseEffect(unsigned int nSoundId)
void pauseAllEffects()
void resumeEffect(unsigned int nSoundId)
void stopEffect(unsigned int nSoundId)
void stopAllEffects()
void unloadEffect(const char* pszFilePath)