cocos2dX 音乐音效,就是声音啦



我们来看看cocos2dX里面的音乐音效,  他里面的声音我们用起来是很简单的

偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑偷笑

这篇是我从别人那儿偷过来的,因为这个本身就不难,所以。。。。。

( 旁白:你小伙子,不老实喃,我不得给你耍了 )

我很老实哈,不要理她哈大笑



嗯, 对了, 先来看看音乐和音效的区别吧:

音乐一般是歌曲, 用来作为背景声音的, 音效一般比较短促, 用来作为打斗效果时或者按下的时候的短促声音

我们来看看常用的函数有哪些:


音乐MUSIC:

preloadBackgroundMusic( 音乐文件);                 //加载音乐

playBackgroundMusic( 音乐文件, bool);     //播放音乐, true代表循环播放, false代表不循环

pauseBackgroundMusic()                                  
//暂停

resumeBackgroundMusic()                              
//继续

stopBackgroundMusic()                                      
//停止

rewindBackgroundMusic()                                
//从头播放

isBackgroundMusicPlaying()                            
//是否正在播放

setBackgroundMusicVolume()                           
//设置音量

getBackgroundMusicVolume()                          
//获取音量


音效EFFECT:

额, 这个和音乐的差不多, 我能不把列出来吗?可怜

还是列出来吧, 我就不注释了, 应该没问题

preloadEffect( 音效文件)

unloadEffect( 音效文件)

playEffect( 音效文件, 是否重复)

stopEffect( 音效ID)

stopAllEffects() 

pauseEffect( 音效ID)

pauseAllEffects()

resumeEffect( 音效ID)

resumeAllEffects() 

getEffectsVolume()

setEffectsVolume() 


嗯, 貌似就差不多了, 我们开始写代码吧:

头文件, 我们写几个回调函数用来控制音乐:

  1. void playMusicCallback(CCObject* pSender);      //播放背景音乐  
  2.     void pauseMusicCallback(CCObject* pSender);     //暂停背景音乐  
  3.     void recoverMusicCallback(CCObject* pSender);   //恢复背景音乐  
  4.     void stopMusicCallback(CCObject* pSender);      //停止背景音乐  
void playMusicCallback(CCObject* pSender);		//播放背景音乐
	void pauseMusicCallback(CCObject* pSender);		//暂停背景音乐
	void recoverMusicCallback(CCObject* pSender);	//恢复背景音乐
	void stopMusicCallback(CCObject* pSender);		//停止背景音乐



cpp文件:

我们创建四个菜单按钮, 用来控制声音:

  1. //创建四个菜单按钮  
  2.     CCMenuItemFont* playBG = CCMenuItemFont::create( "play"this, menu_selector( HelloWorld::playMusicCallback));  
  3.     CCMenuItemFont* pauseBG = CCMenuItemFont::create( "pause"this, menu_selector( HelloWorld::pauseMusicCallback));  
  4.     CCMenuItemFont* recoverBG = CCMenuItemFont::create( "recover"this, menu_selector( HelloWorld::recoverMusicCallback));  
  5.     CCMenuItemFont* stopBG = CCMenuItemFont::create( "stop"this, menu_selector( HelloWorld::stopMusicCallback));  
  6.   
  7.     CCMenu* pMenu2 = CCMenu::create( playBG, pauseBG, recoverBG, stopBG, NULL);  
  8.     pMenu2->setPosition( ccp( visibleSize.width / 2, visibleSize.height / 2));  
  9.     pMenu2->alignItemsVertically();  
  10.     addChild( pMenu2);  
//创建四个菜单按钮
	CCMenuItemFont* playBG = CCMenuItemFont::create( "play", this, menu_selector( HelloWorld::playMusicCallback));
	CCMenuItemFont* pauseBG = CCMenuItemFont::create( "pause", this, menu_selector( HelloWorld::pauseMusicCallback));
	CCMenuItemFont* recoverBG = CCMenuItemFont::create( "recover", this, menu_selector( HelloWorld::recoverMusicCallback));
	CCMenuItemFont* stopBG = CCMenuItemFont::create( "stop", this, menu_selector( HelloWorld::stopMusicCallback));

	CCMenu* pMenu2 = CCMenu::create( playBG, pauseBG, recoverBG, stopBG, NULL);
	pMenu2->setPosition( ccp( visibleSize.width / 2, visibleSize.height / 2));
	pMenu2->alignItemsVertically();
	addChild( pMenu2);



加载音乐文件, 并且设置默认音量:

  1. SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( "palaceMemories.mp3");        //加载背景音乐  
  2. SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume( 1.0);                       //设置默认背景音量  
	SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic( "palaceMemories.mp3");		//加载背景音乐
	SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume( 1.0);						//设置默认背景音量



我们来实现四个回调函数:

分别播放背景音乐, 暂停背景音乐, 恢复背景音乐, 停止背景音乐, 嗯, 每个回调函数里面还有一个播放音效的, 点击一次菜单, 就会播放一次

  1. void HelloWorld::playMusicCallback(CCObject* pSender)  
  2. {  
  3.     SimpleAudioEngine::sharedEngine()->playBackgroundMusic( "palaceMemories.mp3");  
  4.     {  
  5.         //播放音效  
  6.         SimpleAudioEngine::sharedEngine()->playEffect( "hit.mp3");  
  7.     }  
  8. }  
  9.   
  10. void HelloWorld::pauseMusicCallback(CCObject* pSender)  
  11. {  
  12.     SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();  
  13.     {  
  14.         //播放音效  
  15.         SimpleAudioEngine::sharedEngine()->playEffect( "hit.mp3");  
  16.     }  
  17. }  
  18. void HelloWorld::recoverMusicCallback(CCObject* pSender)  
  19. {  
  20.     SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();  
  21.     {  
  22.         //播放音效  
  23.         SimpleAudioEngine::sharedEngine()->playEffect( "hit.mp3");  
  24.     }  
  25. }  
  26. void HelloWorld::stopMusicCallback(CCObject* pSender)  
  27. {  
  28.     SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();  
  29.     {  
  30.         //播放音效  
  31.         SimpleAudioEngine::sharedEngine()->playEffect( "hit.mp3");  
  32.     }  
  33. }  
void HelloWorld::playMusicCallback(CCObject* pSender)
{
	SimpleAudioEngine::sharedEngine()->playBackgroundMusic( "palaceMemories.mp3");
	{
		//播放音效
		SimpleAudioEngine::sharedEngine()->playEffect( "hit.mp3");
	}
}

void HelloWorld::pauseMusicCallback(CCObject* pSender)
{
	SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
	{
		//播放音效
		SimpleAudioEngine::sharedEngine()->playEffect( "hit.mp3");
	}
}
void HelloWorld::recoverMusicCallback(CCObject* pSender)
{
	SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
	{
		//播放音效
		SimpleAudioEngine::sharedEngine()->playEffect( "hit.mp3");
	}
}
void HelloWorld::stopMusicCallback(CCObject* pSender)
{
	SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();
	{
		//播放音效
		SimpleAudioEngine::sharedEngine()->playEffect( "hit.mp3");
	}
}



我们来看看效果:


其实也看不见什么效果, 额 只有看看右下角的音量标志证明她在播放了


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值