using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
/// <summary>
/// 音频管理器
/// </summary>
public class AudioManager : MonoBehaviour
{
public static AudioManager instance;
[SerializeField] private AudioSource[] sfx; //所有音效文件
[SerializeField] private AudioSource[] bgm; //所有背景音乐文件
[SerializeField] private AudioMixer audioMixer; //音频混合器(用于控制音效和背景音乐的音量)
public bool isPlayBGM; //是否播放背景音乐
private int bgmIndex; //背景音乐索引
private float volume=1; //默认初始音量为1
private void Awake()
{
if (instance != null)
Destroy(instance.gameObject);
else
instance = this;
}
private void Update()
{
if (!isPlayBGM)
StopBGM();
else
{
if (!bgm[bgmIndex].isPlaying)
PlayBGM(bgmIndex);
}
}
/// <summary>
/// 播放音效
/// </summary>
/// <param name="_sfxIndex">音效文件对应索引</param>
public void PlaySFX(int _sfxIndex)
{
if (sfx[_sfxIndex].isPlaying) //如果音效正在播放,那就不重复播放了
return;
}
/// <summary>
/// 停止播放音效
/// </summary>
/// <param name="_sfxIndex"></param>
public void StopSFX(int _sfxIndex)
{
sfx[_sfxIndex].Stop();
}
/
发布评论