使用cocos2d-x 中的音乐音效时 注意要导入头文件和命名空间
#include "SimpleAudioEngine.h"
using namespace CocosDenshion;
//创建对象
auto sae = SimpleAudioEngine::getInstance();
或者
auto sae = SimpleAudioEngine::sharedEngine();//其实就是调用了getInstance()
背景音乐相关方法:
//预加载背景音乐
sae->preloadBackgroundMusic(const char* pszFilePath);
//播放背景音乐,bLoop表示是否循环
sae->playBackgroundMusic(const char* pszFilePath, bool bLoop);
//判断当前有没有背景音乐
sae->isBackgroundMusicPlaying();
//停止背景音乐,releaseData表示是否从内存中释放,默认false
//暂停背景音乐
//恢复背景音乐
sae->resumeBackgroundMusic();
//重头播放背景音乐
sae->rewindBackgroundMusic();
我使用的cocos2d-x 版本是3.2, 但是当我看到源码的时候....
这里面是空实现....预加载背景音乐,获取设置音量...调用之前看看源码也是很有必要的
下面是音效的相关方法:
//预加载音效
sae->preloadEffect(const char* pszFilePath);
/*
*播放音效
*filePath是文件的路径。
*loop是否循环的效果玩或不。默认值是假。
*pitch是音调频率,正常值为1。也会改变效果玩时间。
*pan是立体声效果,在[ - 1 - 1 ]的范围内- 1只允许左声道。
*gain是增益量,在[ 0 ]的范围[ 1 ]。正常值为1。
*返回声音的标识id。
*/
//停止播放音效soundId是playeffect()的返回值
//从内存中卸载音效
//暂停音效
soundId是playeffect()的返回值
//恢复音效soundId是playeffect()的返回值
//暂停所有音效
sae->pauseAllEffects();
//恢复所有音效
//停止所有音效