/// <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); } }
/// <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); } }
/// <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(); } }