protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) { base.OnPropertyChanged(e); if (e.Property == Control.VisibilityProperty) { if ((Visibility)e.NewValue == Visibility.Visible) { _meter = new WaveInMeter(2500); _meter.LevelUpdated += (sender, eLevel) => { this.Dispatcher.BeginInvoke((Action)(() => prgMicLevel.Value = eLevel.Level)); }; } else { if (_meter != null) { _meter.Dispose(); _meter = null; } } } }
public MeterStream(WaveInMeter meter) { _meter = meter; }