Exemple #1
0
 /// <summary>
 /// 手动播放音效
 /// </summary>
 /// <param name="audio">指定音效</param>
 /// <param name="index">指定ManualSources索引</param>
 /// <param name="loop">是否循环播放</param>
 public void PlayManual(AudioSystem.AudioType audio, int index, bool loop)
 {
     if (debugEnable)
     {
         Debug.LogError("AudioSystem.PlayerAudio, " + audio);
     }
     if (OnPlayManual != null)
     {
         OnPlayManual(audio, index, loop);
     }
 }
Exemple #2
0
        /// <summary>
        /// 处理自动播放音效
        /// </summary>
        /// <param name="audio"></param>
        void OnPlayAuto(AudioSystem.AudioType audio)
        {
            if (debugEnable)
            {
                Debug.Log("AudioMage.OnPlayAuto," + audio);
            }
            if (audio == AudioSystem.AudioType.AUDIO_NONE)
            {
                return;
            }
            int audioIndex = (int)audio;

            if (AudioClips[audioIndex] != null)
            {
                bool bPlayed = false;
                for (int i = 0; i < AutoSources.Length; i++)
                {
                    if (!AutoSources[i].isPlaying)
                    {
                        AutoSources[i].clip = AudioClips[audioIndex];
                        AutoSources[i].loop = false;
                        AutoSources[i].Play();
                        bPlayed = true;
                        break;
                    }
                }

                if (!bPlayed)
                {
                    DEBUG.Audio("AudioType " + audio + " is not played. All AutoSources are used. ", LogType.Warning);
                    for (int i = 0; i < AutoSources.Length; i++)
                    {
                        DEBUG.Audio("AudioType " + AutoSources[i].clip.name, LogType.Warning);
                    }
                }
            }
            else
            {
                DEBUG.Audio("AudioType " + audio + " is null", LogType.Warning);
            }
        }
Exemple #3
0
        /// <summary>
        /// 处理手动播放音效
        /// </summary>
        /// <param name="audio">指定音效</param>
        /// <param name="index">指定ManualSources索引</param>
        /// <param name="loop">是否循环播放</param>
        void OnPlayManual(AudioSystem.AudioType audio, int index, bool loop)
        {
            if (debugEnable)
            {
                DEBUG.Graphics("AudioManage.OnPlayManual, " + audio + ", " + index + ", " + loop);
            }
            if (audio == AudioSystem.AudioType.AUDIO_NONE)
            {
                ManualSources[index].Stop();
                return;
            }

            int audioIndex = (int)audio;

            if (AudioClips[audioIndex] != null)
            {
                ManualSources[index].Stop();
                ManualSources[index].clip = AudioClips[audioIndex];
                ManualSources[index].loop = loop;
                ManualSources[index].Play();
            }
        }