示例#1
0
文件: BaseAudio.cs 项目: zqbb/MxDebug
        private void PlayAudio(string audioName, Transform target, bool isLoop, DelAudioCallback audioCallback)
        {
            AudioConfigData audioData = audioConfig.GetDataByKey(audioName);

            if (audioData == null)
            {
                Debug.LogError(GetType() + "/PlayAudio()/ play audio error! audioName:" + audioName);
                return;
            }

            if (dicAllAudios.ContainsKey(audioName))
            {
                AudioItem audioItem = GetAudioItemByName(audioName);
                if (audioItem != null && audioItem.State != AudioState.Loading && audioItem.State != AudioState.Error)
                {
                    audioItem.AudioName       = audioName;
                    audioItem.OnAudioCallback = audioCallback;
                    audioItem.target          = target;
                    ChangeState(audioName, AudioState.Play);
                }
            }
            else
            {
                GameObject  item        = new GameObject(audioName);
                AudioSource audioSource = item.AddComponent <AudioSource>();
                audioSource.playOnAwake = false;
                audioSource.loop        = isLoop;
                AudioItem audioItem = item.AddComponent <AudioItem>();
                audioItem.AudioName       = audioName;
                audioItem.OnAudioCallback = audioCallback;
                audioItem.target          = target;
                audioItem.Audio           = audioSource;
                dicAllAudios.Add(audioName, audioItem);
                ChangeState(audioName, AudioState.Loading);
            }
        }
示例#2
0
文件: BaseAudio.cs 项目: zqbb/MxDebug
 /// <summary>播放一个3D声音</summary>
 public void PlayAudio3D(string audioName, Transform target, bool isLoop = false, DelAudioCallback audioCallback = null)
 {
     PlayAudio(audioName, target, isLoop, audioCallback);
 }
示例#3
0
文件: BaseAudio.cs 项目: zqbb/MxDebug
 /// <summary>播放一个2D声音</summary>
 public void PlayAudio2D(string audioName, bool isLoop = false, DelAudioCallback audioCallback = null)
 {
     PlayAudio(audioName, null, isLoop, audioCallback);
 }