Unity SKFramework框架(一)、Audio音频管理器

2022-08-29 17:03:44 浏览数 (1)

一、背景音乐

1.将一个AudioClip资产作为背景音乐进行播放

代码语言:javascript复制
using UnityEngine;
using SK.Framework;

public class Example : MonoBehaviour
{
    [SerializeField] private AudioClip combat;

    private void Start()
    {
        Audio.BGM.Play(combat);        
    }
}

2.设置背景音乐是否循环

代码语言:javascript复制
Audio.BGM.IsLoop = true;
代码语言:javascript复制
3.设置背景音乐音量
代码语言:javascript复制
Audio.BGM.Volume = .3f;
代码语言:javascript复制
4.设置背景音乐是否暂停
代码语言:javascript复制
Audio.BGM.IsPaused = true;
代码语言:javascript复制
5.设置背景音乐是否静音
代码语言:javascript复制
Audio.BGM.IsMuted = true;
代码语言:javascript复制
二、音效

1.将一个AudioClip资产作为音效进行播放

代码语言:javascript复制
using UnityEngine;
using SK.Framework;

public class Example : MonoBehaviour
{
    [SerializeField] private AudioClip clip;
    private void Start()
    {
        Audio.SFX.Play(clip);
    }
}

2.在三维空间中的指定坐标位置播放音效

代码语言:javascript复制
Audio.SFX.Play(clip, transform.position);
代码语言:javascript复制
3.音效跟随物体进行播放
代码语言:javascript复制
Audio.SFX.Play(clip, transform);
代码语言:javascript复制
4.所有播放音效的重载函数

5.设置音效是否静音

代码语言:javascript复制
Audio.SFX.IsMuted = true;

6.设置音效是否暂停

代码语言:javascript复制
Audio.SFX.IsPaused = true;

7.停止所有音效播放

代码语言:javascript复制
Audio.SFX.Stop();
代码语言:javascript复制
三、音频库

1.创建音频库

2.添加音频数据

将AudioClip资产拖拽到“Drop AudioClips Here”区域以添加音频数据

为音频数据命名:

3.加载音频库

代码语言:javascript复制
Audio.Database.Load("ClickAudioDatabase", out AudioDatabase clickAudioDatabase);
代码语言:javascript复制
第一个参数传入音频库资产的Resources路径

4.卸载音频库

代码语言:javascript复制
Audio.Database.Unload("Click");
代码语言:javascript复制
参数传入音频库的名称

5.获取音频库

同样的,参数传入音频库的名称

代码语言:javascript复制
AudioDatabase database = Audio.Database.Get("Click");
代码语言:javascript复制
6.播放音频库中的音频

音频作为音效进行播放

代码语言:javascript复制
Audio.Database.Load("ClickAudioDatabase", out AudioDatabase clickAudioDatabase);
clickAudioDatabase.PlayAsSFX("点击音效01");

音频作为背景音乐进行播放

代码语言:javascript复制
Audio.Database.Load("ClickAudioDatabase", out AudioDatabase clickAudioDatabase);
clickAudioDatabase.PlayAsBGM("点击音效01");

0 人点赞