using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;
using UnityEngine.UI;
///
/// 音频管理类
///
public class AudioManagerX : MonoBehaviour
{
///
/// 音效管理器实例对象
///
public static AudioManagerX Instance;
///
/// 背景音频源
///
public AudioSource audioSourceBg;
///
/// 讲解音频源
///
public AudioSource audioSourceSound;
void Awake()
{
Instance = this;
if (audioSourceBg != null)
{
IsBgMute = audioSourceBg.mute;
}
}
///
/// 播放第index展厅背景音乐
///
/// 展厅索引
public void PlayBg(int index)
{
StartCoroutine(AudioLoader.LoadAudio(CommonData.DataServer + "/Audios/ZT" + index + ".mp3", AudioLoaderHandler, audioSourceBg));
}
void AudioLoaderHandler(AudioClip auClip, AudioSource asHandler)
{
if (auClip != null)
{
asHandler.Stop();
asHandler.clip = auClip;
asHandler.Play();
}
}
///
/// 播放音效(默认在摄像机位置播放)
///
/// 音效文件名
public void PlayAudio(string audioName, float volumn = 1f)
{
PlayAudio(audioName, CommonData.MainCamera.transform.position, volumn);
}
///
/// 播放音效
///
/// 音效文件名
/// 播放位置
public void PlayAudio(string audioName, Vector3 pos, float volumn = 1f)
{
StartCoroutine(AudioLoader.LoadAudio(CommonData.DataServer + "/Audios/" + audioName + ".mp3", AudioLoaderHandler, audioSourceSound));
}
///
/// 停止播放音频
///
public void StopAudio()
{
if (audioSourceSound.isPlaying)
{
audioSourceSound.Stop();
}
}
///
/// 暂停背景音乐
///
public void PauseBackgroundMusic()
{
if (IsBgMute == false)
{
// audioSourceBg.Pause();
audioSourceBg.volume = 0;
}
}
///
/// 恢复背景音乐
///
public void ResumeBackgroundMusic()
{
if (IsBgMute == false)
{
// audioSourceBg.Play();
audioSourceBg.volume = 0.1f;
}
}
///
/// 背景音乐是否静音
///
public bool IsBgMute;
///
/// 设置背景音乐静音
///
public void SetBackgroundMute()
{
audioSourceBg.mute = !audioSourceBg.mute;
IsBgMute = audioSourceBg.mute;
}
}