Unity3D,通过音频名字播放声音

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wang_lvril/article/details/78725275

播放声音只需调用这个类的方法:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AudioManager : MonoBehaviour {

    private static AudioManager _instance;
    public static AudioManager Instance {
        get {
            return _instance;
        }
    }

    private AudioSource audioSource;

    private void Awake()
    {
        _instance = this;
        audioSource = gameObject.AddComponent<AudioSource>();
        audioSource.playOnAwake = false;
    }

    public void PlayAudio(AudioClip ac) {
        AudioSource.PlayClipAtPoint(ac, Camera.main.transform.position);
    }

    public void PlayAudioByName(string name) {
        AudioClip ac = Resources.Load<AudioClip>("Sounds/" + name);
        PlayAudio(ac);
    }

    public void PlayMusic(AudioClip ac)
    {
        if (audioSource.isPlaying) {
            audioSource.Stop();
        }
        this.audioSource.clip = ac;
        audioSource.Play();
    }

    public void PlayMusicByName(string name)
    {
        AudioClip ac = Resources.Load<AudioClip>("Sounds/" + name);
        PlayMusic(ac);
    }
}

猜你喜欢

转载自blog.csdn.net/wang_lvril/article/details/78725275