音频总线设置脚本

样本对象.zip (5.8 KB)
音量调节必需脚本.zip (5.0 KB)
音量调节样本项目.zip (222.6 KB)

AudioBusControlButton 使用手册

AudioBusControlButton 是一个按钮,按下时会调用 AutoLoad 的 AudioBusSettings,并对指定的 AudioServer 总线执行音量阶段切换、音量增减和静音切换操作。
设置保存在 AudioBusSettings 的 user://audio_settings.cfg 文件中,并在下次启动时恢复。

安装

  1. 创建 AudioBusSettings 场景

    1. 创建新场景
    2. 将根节点设为 Node
    3. AudioBusSettings.gd 脚本附加到根节点
    4. 例如,保存为 res://autoload/AudioBusSettings.tscn
  2. 将创建的场景注册为 AutoLoad

    1. 打开项目设置
    2. 打开 AutoLoad
    3. 在 Path 中指定 res://autoload/AudioBusSettings.tscn
    4. 在 Name 中设置 AutoLoad 名称
      例如 AudioBus
    5. 点击 Add 完成注册
  3. 在场景中设置 AudioBusSettings 的 export 参数

    1. 打开 AudioBusSettings.tscn
    2. 在根节点的 Inspector 中进行设置
      config_path 示例 user://audio_settings.cfg (无需更改)
      config_section 示例 audio
      include_master 是否包含主音轨
      exposed_buses 空则为所有总线,指定则仅对指定名称的总线生效
      volume_levels 阶段切换的线性候选值,范围从 0.0 到 1.0
      min_db 将线性 0 附近的值转换为 dB 的下限
  4. 放置 AudioBusControlButton

    1. 在场景中添加 Button 节点
    2. AudioBusControlButton.gd 脚本附加到 Button
    3. 在 Inspector 中进行设置
      autoload_name 与 AutoLoad 的名称一致,例如 AudioBus
      refresh_bus_list 仅在一次操作中开启,更新候选列表后关闭
      target_bus_name 从下拉菜单中选择操作目标总线(如果下拉菜单未更新,请保存项目后重新打开)
      mode 选择按下时的动作

最小配置

用于阶段切换的最小配置。

  1. mode 设置为 CYCLE_LEVELS
  2. 保持 cycle_levels_percent 为空
    空时将使用 AudioBusSettings.volume_levels
  3. 运行并按下按钮
    音量将切换到下一个候选值,最后切换到开头
  4. 退出并重新运行
    如果保存有效,上次的设置将被恢复

设置要点

mode

  • CYCLE_LEVELS 查找与当前值最接近的候选值,并切换到下一个候选值
  • MUTE_TOGGLE 切换静音状态
  • VOLUME_UP 线性音量增加 step_percent_points
  • VOLUME_DOWN 线性音量减少 step_percent_points

cycle_levels_percent

  • CYCLE_LEVELS 指定百分比候选值
  • 例如 0, 25, 50, 75, 100
  • 空时将使用 AudioBusSettings.volume_levels

step_percent_points

  • VOLUME_UPVOLUME_DOWN 的增减量

显示

  • 如果 auto_label 为 true,则自动更新 text;若需固定,请设为 false
  • label_prefix 为前缀字符串,为空时则以总线名称开头
3 个赞