音频单元 unit
大约 1 分钟
初始化
方式一:属性面板
@property(mk.audio_.unit)
music = new mk.audio_.unit();
方式二:动态加载
// 全路径
this.music = (await mk.audio.add("db://assets/resources/xxx.mp3", this))!;
// bundle 相对路径
this.music = (await mk.audio.add("xxx", this, {
load_config: {
bundle_s: global_config.asset.bundle.resources,
},
}))!;
mk.audio_.unit 属性说明
属性 | 说明 |
---|---|
group_ns | 音频分组列表 |
state | 播放状态 |
wait_play_b | 等待播放开关,开启时多次调用 mk.audio_.unit.play 接口时,会等待前次 play 完成 |
wait_play_n | 等待播放次数,wait_play_b 为 true 时等待播放的次数 |
curr_time_s_n | 当前时间(秒) |
total_time_s_n | 总时长(秒) |
event | 音频事件对象 |
type | 音频类型,默认类型为 global_config.audio.type |
volume_n | 音频单元音量 |
real_volume_n | 真实音量(== 音频单元音量 * 所属音频组音量) |
loop_b | 循环 |
use_play_b | 通用音频系统使用,指定使用 play 接口,playOneShot 接口不能暂停音频 |
音频分组
什么是音频分组?如果你的游戏需要分别控制不同类型的音量大小(例:背景音,人声,场景声...),且每个分类包含多个音频,你该怎么做?别担心,音频分组为你解决了这个问题
音频分组的定义
音频分组通常是一个枚举,游戏内置了音频类型(音乐/音效)的音频组,你可以自定义多个音频分组枚举,例如子游戏 A 定义 A 分组,子游戏 B 定义 B 分组
注意
枚举值不能小于 0(因为音频类型(音乐/音效)在 0 以下)
多个分组同时使用时枚举值不可重叠
怎么设置音频单元的音频组?
单个音频单元可以属于多个音频组
- 方式1:
mk.audio.get_group(resources_config.audio.group.test).add_audio([this.effect, this.effect2, ...]);
- 方式2:
this.effect = (await mk.audio.add("xxx.mp3", this, {
group_ns: [resources_config.audio.group.test],
}))!;