欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

cocos2dx3.16+lua 音乐音效

程序员文章站 2024-03-16 15:56:52
...

音乐音效介绍

声音分为两类:背景音乐、音效。

(1)背景音乐:一般是贯穿整个游戏的音乐,时间长、重复次数少。

(2)音效:    一般是很短的那种声音特效,如砍杀、爆炸、走路等,短暂但使用比较频繁。

cocos2dx是一个跨平台的游戏引擎,它支持多种声音格式(比如MP3、WAV等)。可是呢,对于不同的平台,声音的格式可不一定是统一的。这就需要大家根据不同的平台,选择合适的声音格式了。

根据两种声音的特点,其采用的声音格式也有所不同。以下列出各平台所推荐的声音格式(当然并不是全部支持的格式,如IOS中背景音乐除了MP3和CAF外,还可以使用AAC、AMR等等)。

cocos2dx3.16+lua 音乐音效该段音乐音效介绍摘自他人博客。

三种方式

方式一

cc.SimpleAudioEngine:getInstance():preloadMusic("bg.mp3")
cc.SimpleAudioEngine:getInstance():playMusic("bg.mp3", true)

方式二

audio.preloadMusic("bg.mp3")
audio.playMusic("bg.mp3", true)

方式三

AudioEngine.preloadMusic("bg.mp3")
AudioEngine.playMusic("bg.mp3")

其他相关音乐音效函数

AudioEngine.preloadMusic(“bg.mp3”) --预加载背景音乐

AudioEngine.playMuisc(“bg.mp2”, true) --播放背景音乐,第二个参数为true表示循环播放,默认情况下为false

AudioEngine.stopMusic() --停止播放背景音乐

AudioEngine.pauseMusic() --暂停播放背景音乐

AudioEngine.resumeMusic() --恢复播放背景音乐

AudioEngine.isMusicPlaying() --判断背景音乐是否播放

AudioEngine.preloadEffect(“effect.mp3”) --预加载音效

AudioEngine.playEffect(“effect.mp3”) --播放音效

AudioEngine.pauseEffect(id) --暂停播放音效,id是playEffect返回的参数

AudioEngine.pauseAllEffect() --暂停所有音效的播放

AudioEngine.resumeEffect(id) --继续播放某个音效

AudioEngine.resumeAllEffect() --继续播放所有音效

AudioEngine.stopEffect(id) --停止播放某一音效

AudioEngine.stopAllEffect() --停止所有音效播放

AudioEngine.setMusicVolume(0.5) --设置背景音乐音量

AudioEngine.setEffectsVolume(0.5) --设置音效音量

AudioEngine.getMusicVolume() --获得背景音乐音量

AudioEngine.getEffectsVolume() --获得音效音量

上面所使用的方法,都是使用AudioEngine进行点语法调用,这时写法上要注意的,使用cc.SimpleAudioEngine:getInstance():playMusic(“bg.mp3”)<==>AudioEngine.playMusic(“bg.mp3”)

在不同平台下使用的音效格式各不相同,对于背景音乐来说,IOS和Android都可采用MP3的格式,对于音效来说,IOS可使用MP3或者WAV的格式,Android可使用ogg的格式。

摘自:https://blog.csdn.net/u011874528/article/details/52045887

使用过程遇到的问题

无法正常播放背景音乐

cocos2dx3.16底层播放背景音乐使用了mciSendCommand接口,在调试中发现该接口返回值不为0(为0是正常)而是返回277,于是查查msdn,

http://msdn.microsoft.com/en-us/library/windows/desktop/dd757160(v=vs.85).aspx

在return values 里,点开链接,

http://msdn.microsoft.com/en-us/library/windows/desktop/dd757153(v=vs.85).aspx

下方有错误代码的描述

错误代码 277 即MCIERR_INTERNAL

于是,我去找

http://msdn.microsoft.com/en-us/library/windows/desktop/dd797980(v=vs.85).aspx

查询MCIERR_INTERNAL ,结果显示:
cocos2dx3.16+lua 音乐音效重启电脑无果后看到网友评论换一个音乐就可以了,所以把咪咕音乐上下的背景音乐换为了酷狗音乐上的音乐。
结果,成功解决。
用了一整天时间才找出问题,我佛了。写个随笔记录一下,帮助一下后人。

相关标签: lua cocos2dx