AudioManager
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace QFramework
{
public class AudioManager : MonoBehaviour
{
private static AudioManager instance;
public static AudioManager Instance
{
get
{
if (instance == null)
{
instance = new GameObject("AudioManager").AddComponent<AudioManager>();
DontDestroyOnLoad(instance);
}
return instance;
}
}
private AudioListener mAudioListener;
private AudioSource mMusicSource = null; //背景音樂
private void CheckAudioListener()
{
if (!mAudioListener)
{
this.gameObject.AddComponent<AudioListener>();
}
}
/// <summary>
/// 播放音效
/// </summary>
public void PlaySound(string soundName)
{
CheckAudioListener();
AudioSource audioSource = this.gameObject.AddComponent<AudioSource>();
AudioClip audioClip = Resources.Load<AudioClip>(soundName);
audioSource.clip = audioClip;
audioSource.Play();
}
//播放背景音樂
public void PlayMusic(string musicName,bool loop)
{
CheckAudioListener();
if (!mMusicSource)
{
mMusicSource = this.gameObject.AddComponent<AudioSource>();
}
AudioClip audioClip = Resources.Load<AudioClip>(musicName);
mMusicSource.clip = audioClip;
mMusicSource.loop = loop;
mMusicSource.Play();
}
}
}