private void playBGMAuto(string musicName, bool loop) { TWAudioQueue.SourceData activeSource = bgmQueue.ChangeActiveChannel(); TWAudioQueue.SourceData lastSource = bgmQueue.GetLastActive(); if (lastSource.audio.isPlaying) { coroutines[lastSource.ID] = StartCoroutine(fadeAudio(lastSource.audio, false, () => { coroutines[lastSource.ID] = null; })); } if (!activeSource.audio.isPlaying && activeSource.audio.clip == null) { activeSource.audio.clip = audioLibrary.GetBGMClip(musicName); activeSource.audio.loop = loop; activeSource.audio.volume = 0; activeSource.audio.Play(); coroutines[activeSource.ID] = StartCoroutine(fadeAudio(activeSource.audio, true, () => { coroutines[activeSource.ID] = null; })); } }
private float getAudioLength(string name, string type) { if (type.Equals("SFX")) { return(audioLibrary.GetSFXClip(name).clip.length); } else if (type.Equals("BGM")) { return(audioLibrary.GetBGMClip(name).clip.length); } else { return(-1); } }