1、音效引擎
(1)、背景音乐
(1) 预加载背景音乐文件
void preloadBackgroundMusic(const char* filePath);
(2) 停止背景音乐
void stopBackgroundMusic(bool releaseData = false)
(3) 暂停背景音乐
void pauseBackgroundMusic();
(4) 继续背景音乐
void resumeBackgroundMusic();
(5) 从头开始背景音乐
void rewindBackgroundMusic();
(6) 取背景音乐音量
float getBackgroundMusicVolume();
(7) 设背景音乐音量
void setBackgroundMusicVolume(float volume);
(2)、音效
(1) 取音效音量
float getEffectsVolume();
(2) 设音效音量
void setEffectsVolume(float volume);
(3) 播放音效
unsigned int playEffect(const char* filePath, bool loop = false,loat pitch = 1.0f, float pan = 0.0f, float gain = 1.0f);
(4) 暂停音效
void pauseEffect(unsigned int soundId);
(5) 暂停所有音效
void pauseAllEffects();
(6) 重开指定音效
void resumeEffect(unsigned int soundId);
(7) 重开所有音效
void resumeAllEffects();
(8) 停止指定音效
void stopEffect(unsigned int soundId);
(9) 停止所有音效
void stopAllEffects();
(10) 预加载音效
void preloadEffect(const char* filePath);
(11) 卸载
void unloadEffect(const char* filePath);
2、实战纪录
switch (index)
{
case 0: // "play bg music",
filename = "music.mid";
SimpleAudioEngine::getInstance()->playBackgroundMusic("music.mid");
break;
case 1:// "stop bg music"
SimpleAudioEngine::getInstance()->stopBackgroundMusic();
break;
case 2: // "pause bg music"
SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
break;
case 3: //"resume bg music",
SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
break;
case 4://"rewind bg music",
SimpleAudioEngine::getInstance()->rewindBackgroundMusic();
break;
case 5://"add bg volume",
m_fBGVolume += 0.1;
SimpleAudioEngine::getInstance()->setBackgroundMusicVolume(m_fBGVolume);
break;
case 6://"sub bg volume",
m_fBGVolume -= 0.1;
SimpleAudioEngine::getInstance()->setBackgroundMusicVolume(m_fBGVolume);
break;
case 7://" play effect"
m_nEffectID = SimpleAudioEngine::getInstance()->playEffect("effect1.wav");
break;
case 8://"stop effect",
SimpleAudioEngine::getInstance()->stopEffect(m_nEffectID);
break;
case 9://"pause effect",
SimpleAudioEngine::getInstance()->pauseEffect(m_nEffectID);
break;
case 10://"resume effect",
SimpleAudioEngine::getInstance()->resumeEffect(m_nEffectID);
break;
case 11://"add effect volume",
m_fEffectVolume = SimpleAudioEngine::getInstance()->getEffectsVolume();
m_fEffectVolume += 0.1;
SimpleAudioEngine::getInstance()->setEffectsVolume(m_fEffectVolume);
break;
case 12://"sub effect volume",
m_fEffectVolume = SimpleAudioEngine::getInstance()->getEffectsVolume();
m_fEffectVolume -= 0.1;
SimpleAudioEngine::getInstance()->setEffectsVolume(m_fEffectVolume);
break;
}