cocos2dX 之音乐与音效

今天, 我们来学习cocos2dX里面的音乐音效, 为什么学他呢, 难道你喜欢看无声电影( 旁白: 我就喜欢关着声音玩), 我们不要管旁白了, 她是个疯子

老规矩, 资源准备好:

一首<故宫神思>作为背景音乐, 话说我最喜欢这种调调了, 一个hit.mp3作为背景音效, 话说我百度了好久都没找到其他格式的音效, 将就使用mp3的了, 嘿嘿

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

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

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

音乐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()

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

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

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

cpp文件:

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

//创建四个菜单按钮
	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);

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

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

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

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

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

我们来看看效果:

其实也看不见什么效果, 额 只有看看右下角的音量标志证明她在播放了, 今天的代码很简单, 希望大家写一下, 看看效果, 有不明白的地方可以进群讨论:223856254

cocos2dX 之音乐与音效,布布扣,bubuko.com

时间: 2024-12-20 09:25:57

cocos2dX 之音乐与音效的相关文章

22、Cocos2dx 3.0游戏开发找小三之音乐与音效:假如世界上没有了音乐,你的耳朵会孤单吗?

重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30485103 假如世界上没有了音乐,在森林里.我们听不到莺.鸫鸟用纯洁.纯净的的声音唱歌.听不到甲虫和蚱蜢拉提琴的声音:听不到小河哗哗啦啦地演奏:也听不到落叶沙沙地歌唱--森林无论如何郁郁葱葱,如何漂亮也只是仅仅是空荡和孤独. 假如世界上没有了音乐,人们将无法听到莫扎特.贝多芬等音乐天才创作的那些动听的乐曲:人们将不能看到花儿乐队活力四射的表演:音乐

cocos2dx音乐与音效

// 预加载音乐和音效 SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(CCFileUtils::sharedFileUtils()->fullPathFromRelativeFile("fashu1.wav","fashu1.wav")); SimpleAudioEngine::sharedEngine()->preloadEffect(CCFileUtils::sharedFi

Cocos2dx引擎优化(1) ---音效系统

Cocos2dx提供的音频库位于CocosDenshion中,其接口由SimpleAudioEngine定义,提供了基本的背景音乐和音效播放. SimpleAudioEngine的实现是夸平台的, 在windows平台上由mci相关API实现; 在android平台上透过JNI,调用android sdk 中的AudioPlayer实现;而在IOS平台上由Cocoa sdk里的Core-Audio实现.但SimpleAudioEngine并不适用于大部分游戏情境,它在Android上的实现需要直

拍大师添加音乐、音效教程,拍大师使用方法介绍

大家在用拍大师制作视频的时候,如果没有音乐和音效的话肯定是一个不完整的视频,很多人也喜欢在视频加一些自己喜欢的音乐,另外在一些场合加一些特定的音效,这样视频就会更加生动,那拍大师怎么添加音乐呢?看看小编给大家推荐的拍大师添加音乐.音效教程吧! 一.添加音乐1.打开拍大师的视频编辑界面,在左上方点[音乐]转到音乐界面,如下图所示. 2.点击[本地添加]按钮,在弹出的窗口里选择电脑上的音乐文件路径(比如你的音乐放在D盘/music就打开这里),再点击打开,显示导入成功后,音乐界面会显示导入的音乐文件

Cocos2d-x 3.x 练习 1 音乐和音效

→_→ 一群人讨论做个文字类的AVG. 开始打算用的renpy.在我的建议下还是改用的cocos2d,我觉得这个比较方便,(C++啦,比较成熟啦... 然后和以前写过的2048 一比,发现版本差距好大.都跳到3.4 了. cocos的官网也没找到 版本到底更新了什么.连关键字都不一样了. CCSprite 改成Sprite.就是CC(cocos)被去掉了. 如此等等-- 然后屏幕自适应也不能直接复制以前的. CCLOG了一下,发现是默认 960x540 . 于是在AppDelegate.cpp

cocos2d-x 之 声音和音效(二)

在上一篇中,写了cocos2d-x 2.1.6版本的声音和音效的播放,结果编写如下代码: float m_MusicVol = 0.5f;  // (0.0f~1.0f)  音量大小 float m_WavVol = 0.5f; // (0.0f~1.0f)  音效大小 CocosDenshion::SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(m_MusicVol);CocosDenshion::SimpleAudioE

cocos2d-x 添加背景音乐和音效-SimpleAudioEngine

首先,要想使用音效,需要启用音效引擎库CocosDenshion中的SimpleAudioEngine类, #include "SimpleAudioEngine.h" CocosDenshion引擎库实际上是对系统音频API的封装,因此它支持的音频文件格式与平台有关.具体不同平台的格式支持请查阅资料,通常我们就用各个平台都支持的格式,音乐:mp3:音效:wav. 具体的使用做一个简单的介绍,比较简单: 音乐:同一时间,只能有一个背景音乐在播放. void preloadBackgro

IOS播放音乐和音效

1.播放音效 1.1 首先获取到音效文件路径 1 NSString *path = [[NSBundle mainBundle] pathForResource:soundFileName ofType:nil]; 1.2 将音效文件路径转换为NSURL NSURL *url = [NSURL fileURLWithPath:path]; 1.3 加载音效文件,并返回SystemSoundID(用于播放此音效) SystemSoundID soundId ; //如下方式是C语言的框架,是将音频

关于Cocos2d-x中背景音乐和音效的添加

1.首先引入头文件和命名空间 #include "SimpleAudioEngine.h" using namespace CocosDenshion; 2.在GameScene.cpp的init方法中加载背景音乐和音效到一个SimpleAudioEngine::getInstance();的对象中 //加载音乐,播放背景音乐 auto audioengine = SimpleAudioEngine::getInstance(); audioengine->preloadBack