private void OnRenderEffectsChanged(AudioRenderEffectsManager sender, object evt) { var ignored = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { IReadOnlyList <AudioEffect> effectslist = m_RenderEffectsManager.GetAudioRenderEffects(); DisplayEffectsList(effectslist); }); }
private void ScenarioInit() { m_MonitorStarted = false; m_DeviceInfo = null; m_RenderEffectsManager = null; DisplayEmptyDevicesList(); DisplayEmptyEffectsList(); DisplayCategoriesList(); lblEffects.DataContext = new EffectLabelView { EffectLabelName = "Effects" }; }
private void ScenarioClose() { if (m_RenderEffectsManager != null) { m_RenderEffectsManager.AudioRenderEffectsChanged -= OnRenderEffectsChanged; m_RenderEffectsManager = null; } CategoriesList.LayoutUpdated -= CategoriesList_LayoutUpdated; }
private void StartStopMonitor(Object sender, Windows.UI.Xaml.RoutedEventArgs evt) { if ( m_MonitorStarted == true ) { if (m_RenderEffectsManager != null) { m_RenderEffectsManager.AudioRenderEffectsChanged -= OnRenderEffectsChanged; m_RenderEffectsManager = null; } // No longer monitoring effects changes; re-enable button for "Refresh Effects List" btnRefreshEffects.IsEnabled = true; // Reset effects list to empty lblEffects.DataContext = new EffectLabelView { EffectLabelName = "Effects" }; DisplayEmptyEffectsList(); m_MonitorStarted = false; btnStartStopMonitor.Content = "Start Monitoring"; } else { int deviceIndex = DevicesList.SelectedIndex; AudioRenderCategory Category; if ( CategoriesList.SelectedIndex < 0 ) { Category = AudioRenderCategory.Communications; } else { Category = (AudioRenderCategory)CategoriesList.SelectedIndex; } if (deviceIndex < 0) { m_RenderEffectsManager = AudioEffectsManager.CreateAudioRenderEffectsManager( MediaDevice.GetDefaultAudioRenderId(AudioDeviceRole.Communications), Category, Windows.Media.AudioProcessing.Default); m_RenderEffectsManager.AudioRenderEffectsChanged += OnRenderEffectsChanged; lblEffects.DataContext = new EffectLabelView { EffectLabelName = "Effects Active on {Default Device}" }; } else { m_RenderEffectsManager = AudioEffectsManager.CreateAudioRenderEffectsManager( m_DeviceInfo[deviceIndex].Id, Category, Windows.Media.AudioProcessing.Default); m_RenderEffectsManager.AudioRenderEffectsChanged += OnRenderEffectsChanged; lblEffects.DataContext = new EffectLabelView { EffectLabelName = "Effects Active on {" + m_DeviceInfo[deviceIndex].Name + "}" }; } // Display current effects once IReadOnlyList<AudioEffect> Effectslist = m_RenderEffectsManager.GetAudioRenderEffects(); DisplayEffectsList(Effectslist); // Start monitoring effects changes; for now disable button for "Refresh Effects List" btnRefreshEffects.IsEnabled = false; m_MonitorStarted = true; btnStartStopMonitor.Content = "Stop Monitoring"; } }
private void OnRenderEffectsChanged(AudioRenderEffectsManager sender, object evt) { var ignored = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { IReadOnlyList<AudioEffect> effectslist = m_RenderEffectsManager.GetAudioRenderEffects(); DisplayEffectsList(effectslist); }); }
public AudioRenderEffectsManagerEvents(AudioRenderEffectsManager This) { this.This = This; }
private void StartStopMonitor(Object sender, Windows.UI.Xaml.RoutedEventArgs evt) { if (m_MonitorStarted == true) { if (m_RenderEffectsManager != null) { m_RenderEffectsManager.AudioRenderEffectsChanged -= OnRenderEffectsChanged; m_RenderEffectsManager = null; } // No longer monitoring effects changes; re-enable button for "Refresh Effects List" btnRefreshEffects.IsEnabled = true; // Reset effects list to empty lblEffects.DataContext = new EffectLabelView { EffectLabelName = "Effects" }; DisplayEmptyEffectsList(); m_MonitorStarted = false; btnStartStopMonitor.Content = "Start Monitoring"; } else { int deviceIndex = DevicesList.SelectedIndex; AudioRenderCategory Category; if (CategoriesList.SelectedIndex < 0) { Category = AudioRenderCategory.Communications; } else { Category = (AudioRenderCategory)CategoriesList.SelectedIndex; } if (deviceIndex < 0) { m_RenderEffectsManager = AudioEffectsManager.CreateAudioRenderEffectsManager( MediaDevice.GetDefaultAudioRenderId(AudioDeviceRole.Communications), Category, Windows.Media.AudioProcessing.Default); m_RenderEffectsManager.AudioRenderEffectsChanged += OnRenderEffectsChanged; lblEffects.DataContext = new EffectLabelView { EffectLabelName = "Effects Active on {Default Device}" }; } else { m_RenderEffectsManager = AudioEffectsManager.CreateAudioRenderEffectsManager( m_DeviceInfo[deviceIndex].Id, Category, Windows.Media.AudioProcessing.Default); m_RenderEffectsManager.AudioRenderEffectsChanged += OnRenderEffectsChanged; lblEffects.DataContext = new EffectLabelView { EffectLabelName = "Effects Active on {" + m_DeviceInfo[deviceIndex].Name + "}" }; } // Display current effects once IReadOnlyList <AudioEffect> Effectslist = m_RenderEffectsManager.GetAudioRenderEffects(); DisplayEffectsList(Effectslist); // Start monitoring effects changes; for now disable button for "Refresh Effects List" btnRefreshEffects.IsEnabled = false; m_MonitorStarted = true; btnStartStopMonitor.Content = "Stop Monitoring"; } }