public override void Stop() { try { if (_processor != null) { _processor.Stop(); _processor = null; } } finally { base.Stop(); } }
protected override void DoStart() { if (_processor == null && SrcInfo != null) { float tmpVol = 0.0f; if (Volume > 0) { tmpVol = (float)(Math.Min(Volume, MaxVolume) / MaxVolume); } _processor = new AudioProcessing.WaveInChannelProcessor(SrcInfo.SourceName, SrcInfo.SourceLocation, SrcInfo.SourceChannel, ProcessRadioSignalItem, HasPropertyChanged, tmpVol, SrcInfo.RecordAudio, SrcInfo.RecordingType, SrcInfo.RecordingKickTime, SrcInfo.NoiseFloor, SrcInfo.CustomNoiseFloor, SrcInfo.RemoveNoise, SrcInfo.DecodeMDC1200, SrcInfo.DecodeGEStar, SrcInfo.DecodeFleetSync, false, SrcInfo.WaveOutDeviceName); InternalSetProcessorVolume(Volume, MaxVolume, IsMuted ? Common.MuteState.Muted : Common.MuteState.Normal); OnPropertyChanged("Volume"); OnPropertyChanged("IsMuted"); OnPropertyChanged("IsEnabled"); } }