private void EchoEffectToggle_Toggled(object sender, RoutedEventArgs e) { // Enable/Disable the echo effect // Also set the label for the UI if (echoEffectToggle.IsOn) { submixNode.EnableEffectsByDefinition(echoEffect); } else { submixNode.DisableEffectsByDefinition(echoEffect); } }
private void ApplyEffects(Effects e) { if (reverbNode == null) { reverbNode = audioGraph.CreateSubmixNode(); } if (eqNode == null) { eqNode = audioGraph.CreateSubmixNode(); } if (limiterNode == null) { limiterNode = audioGraph.CreateSubmixNode(); } if (eqEffect == null) { InitEffects(); } reverbNode.EffectDefinitions.Clear(); eqNode.EffectDefinitions.Clear(); limiterNode.EffectDefinitions.Clear(); if (e.HasFlag(Effects.Equalizer)) { eqNode.EffectDefinitions.Add(eqEffect); eqNode.EnableEffectsByDefinition(eqEffect); } if (e.HasFlag(Effects.Limiter)) { limiterNode.EffectDefinitions.Add(limiterEffect); limiterNode.EnableEffectsByDefinition(limiterEffect); } if (e.HasFlag(Effects.Reverb)) { reverbNode.EffectDefinitions.Add(reverbEffect); reverbNode.EnableEffectsByDefinition(reverbEffect); } }
// // // public void EnableAudioCaptureEchoEffect() { audioDeviceOutputSubmixNode.EnableEffectsByDefinition(echoEffectDefinition); }