添加声音或音效时,示例代码如下:
#include "SimpleAudioEngine.h" bool HelloWorld::init() { if ( !CCLayer::init() ) { return false; } // 播放声音 CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("Music/music_logo.mp3",true); return true; }
接下来总结下,关于SimpleAudioEngine.h中常用接口的作用:
// 获取Shared Engine 的对象 static SimpleAudioEngine* sharedEngine(); // 释放Shared Engine的对象,在应用退出前,要确保调用,否则会造成内存泄露 void end(); // 预加载背景音乐 void preloadBackgroundMusic(const char* pszFilePath); // 播放背景音乐,参数一是,音乐文件的路径,参数二表示是否循环播放,fasle为不循环 void playBackgroundMusic(const char* pszFilePath, bool bLoop); // 停止正在播放的背景音乐,其参数表示是否清空音乐数据 void stopBackgroundMusic(bool bReleaseData); // 暂停正在播放的背景音乐 void pauseBackgroundMusic(); //恢复正在播放的背景音乐 void resumeBackgroundMusic(); // 重新开始播放背景音乐 void rewindBackgroundMusic(); // 判断背景音乐是否正在播放,如果播放返回true,否则返回false bool isBackgroundMusicPlaying(); // 设置背景音乐的音量大小,范围在0.0~1.0之间 void setBackgroundMusicVolume(float volume); float getBackgroundMusicVolume(); // 设置音效的音量大小,范围在0.0~1.0之间 void setEffectsVolume(float volume); float getEffectsVolume(); // 播放音效,其返回值表示播放的的音效ID unsigned int playEffect(const char* pszFilePath, bool bLoop); // 暂停指定音效播放 void pauseEffect(unsigned int nSoundId); // 暂停所有音效 void pauseAllEffects(); // 恢复指定音效的播放 void resumeEffect(unsigned int nSoundId); // 恢复所有音效 void resumeAllEffects(); // 停止指定音效的播放 void stopEffect(unsigned int nSoundId); // 停止所有音效的播放 void stopAllEffects(); // 预加载音效文件 void preloadEffect(const char* pszFilePath); // 卸载音效文件 void unloadEffect(const char* pszFilePath);