背景音乐
使用AudioSource组件
①添加组件
首先选一个层级,添加组件——其他组件——AudioSource
组件详情如下,分别是:
名字 | 用处 |
---|---|
clip | 拖进去一个音乐文件 |
Mute | 是否静音 |
Volume | 音量,0–1之间 |
Loop | 是否循环 |
Play On Load | 是否自动播放 |
Preload | 是否预加载 |
如果勾选上Play On Load,这时鼠标放在cocos软件右上角的域名上,手机扫描二维码预览,点击一下屏幕就会听到音乐了
②脚本控制
不勾选Play On Load的话,在脚本文件里设置音乐的播放和暂停
在js的properties里面写:
bg_music:{
default:null,
type: cc.AudioSource
}
然后再onload里面写:
this.bg_music.play();
也是和勾选Play On Load一样的效果
除了play,还可以用pause暂停等
直接脚本控制
①声明
bg_music:{
default:null,
type: cc.AudioClip
}
②播放背景音乐(playMusic)
let audioId_bg = cc.audioEngine.playMusic(this.bg_music, true);
cc.audioEngine.setVolume(audioId_bg, 1);//设置声音大小
代码解析:
代码 | 用处 |
---|---|
audioId_bg | 是这个音效的id,暂停或停止的时候都需要它 |
playMusic | 是用来播放背景音乐的 |
bg_music | 是声明中绑定了音乐文件的 |
true | 是循环,如果不想循环请用false |
setVolume | 是设置音量 |
1 | 是音量最大的,数值在0–1之间 |
音效
直接脚本控制
①声明
engine_music:{
default:null,
type: cc.AudioClip
}
②播放
此时假设点击mask_exam时播放音效
var that = this;
this.mask_exam.on('touchstart',function(){
that.engine_music_id = cc.audioEngine.playEffect(that.engine_music, false);
})
代码解析:
代码 | 用处 |
---|---|
that.engine_music_id | 是这个音效的id,暂停或停止的时候都需要它 |
playEffect | 是用来播放音效的 |
engine_music | 是声明中绑定了音效文件的 |
false | 是不循环,如果循环请用true |
同样的,此时这个音效也可以用
cc.audioEngine.setVolume(that.engine_music_id, 0.1);
来设置音量
③停止
如果需要停止此音效,可以用:
cc.audioEngine.stopEffect(that.engine_music_id);
注意
1、
如果不先点击一下cocos生成的canvas标签(点其他h5页面没用),
苹果手机音乐是不会播放出声音的,建议在最上面做一个蒙版让用户点击
2、
点击最好圈定一个范围,因为滑动也会执行点击事件,但不会播放音乐
3、
如果需要将cocos和h5页面合在一起,不建议在h5里写audio标签播放音乐,那样的话cocos的音乐播出来是全损音质,轻快音乐秒变惊悚
cocos笔记链接:
cocos creator学习(一)页面+动画
cocos creator学习(二)js绑定动画
cocos creator学习(三)预制节点
cocos creator学习(四)全局变量+类之间的函数调用
cocos creator学习(五)定时器
cocos creator学习(六)组件Mask(超出部分隐藏)
cocos creator学习(七)音乐
cocos creator学习(八)自动图集+构建发布h5
cocos creator学习(九)构建后更改图片和层级设置
cocos creator学习(十)cocos自带扩展插件-压缩