private void OnMixerInputEnded(object sender, SampleProviderEventArgs e) { if (((SoundSampleProvider)e.SampleProvider).Sound.Loop) { AddMixerInput(new SoundSampleProvider(((SoundSampleProvider)e.SampleProvider).Sound)); } }
private void OnMixerInputEnded(object sender, SampleProviderEventArgs e) { // check if there are any inputs left // OnMixerInputEnded gets invoked before the corresponding source is removed from the List so there should be exactly one source left if (mixer.MixerInputs.Count() == 1) { AllInputEnded?.Invoke(this, EventArgs.Empty); } }
private void Looper_MixerInputEnded(object sender, SampleProviderEventArgs e) { if (e.SampleProvider == sampleProvider1) { Logger.Log(Name + " - playback ended (reader1)"); sampleProvider1 = null; } if (e.SampleProvider == sampleProvider2) { Logger.Log(Name + " - playback ended (reader2)"); sampleProvider2 = null; } }
/// <summary> /// Fired when input has ended. Allows restart of looped sounds. /// </summary> private void Mixer_MixerInputEnded(object sender, SampleProviderEventArgs e) { CachedSoundProvider provider = ((e.SampleProvider != null) && (e.SampleProvider is CachedSoundProvider)) ? (CachedSoundProvider)e.SampleProvider : null; if (provider == null) { return; } lock (_loops) { if (_loops.Contains(provider)) { provider.Reset(); AddMixerInput(provider); } } }
private void Mixer_MixerInputEnded(object sender, SampleProviderEventArgs e) { if (!IsInPlay) { return; } if (e.SampleProvider is MainBGMSampleProvider) { mainAudioFile.Seek(0, System.IO.SeekOrigin.Begin); mixer.AddMixerInput(new MainBGMSampleProvider(mainAudioSample)); } else if (e.SampleProvider is RightSESampleProvider) { LocateNewSE(true); } else { LocateNewSE(false); } }
private void MixerInputEnded(object sender, SampleProviderEventArgs e) { if (State == AudioTrackState.Stopped || _outputSample == null) { return; } //check if this is our sample if (e.SampleProvider.GetHashCode() == _outputSample.GetHashCode()) { if (_timer != null) { _timer.Dispose(); } _currentStream.Dispose(); State = AudioTrackState.Stopped; } }
private void OnMixerInputEnded(object sender, SampleProviderEventArgs e) { MixerInputsCount--; CheckPlayingState(); }