public void Stop(bool clearQueue = false) { if (clearQueue) { clipQueue.Clear(); } nextClip = null; playStartTime = DateTime.MinValue; clipLength = 0; // Fade out the audio that's currently playing to stop it. Check here to // prevent coroutines from stacking up and calling Stop() on audioSource // at undesired times. Audio that would be faded out instead would just // be skipped over if the queue was cleared, which is what we want. if (!AudioHelper.FadingOut) { StartCoroutine(AudioHelper.FadeOutOverSeconds(audioSource, FadeOutTime)); } }