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);
     }
 }
示例#2
0
        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);
            }
        }
示例#3
0
 //
 //
 //
 public void EnableAudioCaptureEchoEffect()
 {
     audioDeviceOutputSubmixNode.EnableEffectsByDefinition(echoEffectDefinition);
 }