跳至主要內容

音频单元 unit

muzzik大约 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],
}))!;

📣 觉得很赞?分享给你的朋友吧!