游戏开发cocos2d-x实战(4) -- 音效引擎SimpleAudioEngine

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;
	}

3、实战源代码分享

分享代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值