【Cocos2d-html5游戏引擎学习笔记(8)】音乐及音效

cocos2d-html5同样为我们做好的音乐文件的播放功能,其实我们完全可以用cocos2d-html5来做一款音乐播放器,它为我们提供好了播放,暂停,回放,循环播放等等方法,只需要简单的调用即可。


下面说说它的基本用法吧。


这套与cocos2dx相比,确实要方便一点,不需要使用命名空间,也不需要使用预加载音乐文件的方法(因为我们在之前已经把资源全部预加载好了),一切的一切都只要从cc.AudioEngine.getInstance()开始把各个方法调用出来就可以了。


我们首先需要两个音乐文件,一个背景音乐文件,一个音效文件,用一个变量保存文件名,完全是为了方便开发,不然以后如果需要修改音乐文件名要遍历整个文件去逐一修改。

var MUSIC_FILE = "res/Sound/background.mp3";
var EFFECT_FILE = "res/Sound/effect.mp3";


播放背景音乐:cc.AudioEngine.getInstance().playMusic(MUSIC_FILE, true);

playMusic()有两个重载的方法,一个是不加第二参数,一个是添加,第二参数的作用在于是否循环播放,缺省值是false。


暂停音乐:cc.AudioEngine.getInstance().pauseMusic();


继续播放:resumeMusic();


从头开始播放:rewindMusic();


停止播放:stopMusic();


检测背景音乐是否在播放:isMusicPlaying();


如果在对音乐文件频繁操作的话,每次都使用cc.AudioEngine.getInstance()过于麻烦,我们可以先用个变量保存起来,例如:

var audioEngine = cc.AudioEngine.getInstance();

这样我们对音乐文件的操作就比较方便了。比如 audioEngine.playMusic(MUSIC_FILE, false);


对于音量的调节可以这样使用:audioEngine.setMusicVolume(audioEngine.getMusicVolume() + 0.1);

这样就可以调节音量了,参数的范围在0-1之间。



音效的操作和背景音乐文件的处理基本相同


播放音效:cc.AudioEngine.getInstance().playEffect(EFFECT_FILE, false);

在播放音效方法上有一个返回值,可以从中得到这个音效的id,然后在后面对该音效的操作就可以使用这个id,我们可以用一个变量先保存

var soundId = null;

soundId = audioEngine.playEffect(EFFECT_FILE);

这样这个soundid就可以用在暂停,停止音效等上面


暂停音效:audioEngine.pauseEffect(soundId);


继续播放音效:audioEngine.resumeEffect(soundId);


停止音效:audioEngine.stopEffect(soundId);


卸载音效:audioEngine.unloadEffect(EFFECT_FILE);


暂停全部音效:audioEngine.pauseAllEffects();


恢复全部音效:audioEngine.resumeAllEffects();


停止全部音效:audioEngine.stopAllEffects();


音乐及音效的操作还是很简单的,我是在课上写的这个blog,哈哈,这个部分本该放在后面写的,但是比较简单,我就在课上闲着没事干先写了,后面会把动作这部分补上来的,如有错误,欢迎指点出来哈~



你可能感兴趣的:(JavaScript,cocos2d-html5)