public static void PlayClip(AudioClipEnum clipEnum, float delay = 0, float volume = 1) { int index = (int)clipEnum; if (index < 0 || index >= thePlayer.EnumeratedClips.Length) { Debug.LogError("Count out of range: " + clipEnum.ToString()); return; } AudioClip clip = thePlayer.EnumeratedClips[index]; if (clip == null) { Debug.LogError("Clip not found: " + clipEnum.ToString()); return; } if (delay > 0) { thePlayer.ExecuteLater(delay, () => { thePlayer._mySource.PlayOneShot(clip, volume); }); } else { thePlayer._mySource.PlayOneShot(clip, volume); } }
public void PlayNext() { playing?.Stop(); AudioClipEnum song = NextMusic(); SoundManager.Ins.Play(song); playing = SoundManager.Ins.audioSources[song]; }
public static float ClipLength(AudioClipEnum clipEnum) { AudioClip clip = thePlayer.EnumeratedClips[(int)clipEnum]; if (clip == null) { Debug.LogError("Clip not found: " + clipEnum.ToString()); return(0); } return(clip.length); }
//加载声音剪辑 private AudioClip LoadAudioClip(AudioClipEnum path) { for (int i = 0; i < audioClipResource.audioClipResource.Count; i++) { if (audioClipResource.audioClipResource[i].name == path.ToString()) { return(audioClipResource.audioClipResource[i]); } } return(null); }
/// <summary> /// 播放其余音效 /// </summary> public void PlayAssistAudio(AudioSource audioSource, AudioClipEnum clip, float volume, float pitch, bool loop = false) { if (audioSource == null) { audioSource = m_AssistAudioSource; } if (m_IsMute) { return; } AudioClip audioClip = Resources.Load <AudioClip>("Sound/" + clip + ""); audioSource.clip = audioClip; audioSource.pitch = pitch; audioSource.loop = loop; audioSource.Play(); }
//播放音效 public void Play(AudioClipEnum path) { AudioSource _AudioSource = null; for (int i = 0; i < audioSourceList.Count; i++) { if (!audioSourceList[i].isPlaying) { _AudioSource = audioSourceList[i]; } } if (_AudioSource == null) { _AudioSource = gameObject.AddComponent <AudioSource>(); audioSourceList.Add(_AudioSource); } _AudioSource.clip = LoadAudioClip(path); _AudioSource.Play(); }
public static void RepeatClip(AudioClipEnum clipEnum, int times, float delay = 0) { int index = (int)clipEnum; if (index < 0 || index >= thePlayer.EnumeratedClips.Length) { Debug.LogError("Count out of range: " + clipEnum.ToString()); return; } AudioClip clip = thePlayer.EnumeratedClips[index]; if (clip == null) { Debug.LogError("Clip not found: " + clipEnum.ToString()); return; } thePlayer._mySource.clip = clip; for (int i = 0; i < times; ++i) { thePlayer.ExecuteLater(delay + clip.length * i, () => thePlayer._mySource.Play()); } }
//播放背景音乐,只能有一个背景音乐在播放 public void PlayMusic(AudioClipEnum path) { musicAudioSource.clip = LoadAudioClip(path); musicAudioSource.Play(); }