private void StopTheAlarm(ref VolumeCheckArgs vca, bool disableSound, bool disableOverlay) { if (vca.resetOverlay && vca.resetSound) { vca.meterColor = VOLUME_OK; } if (disableSound) { _soundOut.Pause(); if (_timerAlarmDelay.IsEnabled) { _timerAlarmDelay.Stop(); } } if (disableOverlay) { if (_timerOverlayShow.IsEnabled) { _timerOverlayShow.Stop(); } if (_overlayWorking) { _overlayWorking = false; } } }
private void VolumeCheck(float volume) { VolumeCheckArgs vca; vca = new VolumeCheckArgs(VOLUME_OK); if (volume >= alarmThreshold) { KeepSystemVolume(); vca.meterColor = VOLUME_HIGH; if (_isSoundAlarmEnabled) { if (!_timerAlarmDelay.IsEnabled && _soundOut.PlaybackState != PlaybackState.Playing) { vca.resetSound = true; vca.resetLabelColor = true; _timerAlarmDelayArgs = new TimerDelayArgs(DateTime.Now); _timerAlarmDelay.Start(); } } else { vca.resetSound = true; vca.resetLabelContent = true; StopTheAlarm(ref vca, true, false); } if (_isMessageAlarmEnabled) { if (!_timerOverlayShow.IsEnabled && !_timerOverlayUpdate.IsEnabled) { vca.resetOverlay = true; vca.resetLabelColor = true; _timerOverlayDelayArgs = new TimerDelayArgs(DateTime.Now); _timerOverlayShow.Start(); } } else { vca.resetOverlay = true; vca.resetLabelContent = true; StopTheAlarm(ref vca, false, true); } } else { vca.resetSound = true; vca.resetOverlay = true; vca.resetLabelContent = true; StopTheAlarm(ref vca, true, true); } OnVolumeCheck(this, vca); }
private void VolumeCheck(float volume) { if (_defaultDeviceChanged) { return; } try { VolumeCheckArgs vca; vca = new VolumeCheckArgs(VOLUME_OK); if (volume >= _alarmThreshold) { KeepSystemVolume(); vca.meterColor = VOLUME_HIGH; if (_isSoundAlertEnabled) { if (_delayBeforeAlarm > 0) { if (!_timerAlarmDelay.Enabled && !_isSoundAlertPlaying) { vca.resetSoundLabelColor = true; _timerAlarmDelayArgs = new TimerDelayArgs(DateTime.Now); _timerAlarmDelay.Start(); } // else return; } else { PlayAlarm(!_isControllerMode); } } else { if (_isSoundAlertPlaying) { _soundOut.Stop(); _isSoundAlertPlaying = false; vca.resetSoundLabelColor = true; vca.resetSoundLabelContent = true; } } if (_isOverlayAlertEnabled) { if (!_timerOverlayShow.Enabled && !_timerOverlayUpdate.Enabled && !_isOverlayAlertPlaying) { vca.resetOverlayLabelColor = true; _timerOverlayDelayArgs = new TimerDelayArgs(DateTime.Now); _timerOverlayShow.Start(); } } else { if (_timerOverlayShow.Enabled) { _timerOverlayShow.Stop(); vca.resetOverlayLabelColor = true; _isOverlayAlertPlaying = false; } if (_overlayWorking) { vca.resetOverlayLabelContent = true; _overlayWorking = false; _isOverlayAlertPlaying = false; } } } else { //if (_soundOut.PlaybackState == PlaybackState.Playing) //{ vca.meterColor = VOLUME_OK; vca.resetSoundLabelContent = true; vca.resetOverlayLabelContent = true; if (_soundOut.PlaybackState == PlaybackState.Playing) { _soundOut.Pause(); } _isSoundAlertPlaying = false; _isOverlayAlertPlaying = false; if (_timerAlarmDelay != null) { if (_timerAlarmDelay.Enabled) { _timerAlarmDelay.Stop(); } } if (_timerOverlayShow.Enabled) { _timerOverlayShow.Stop(); } if (_overlayWorking) { _overlayWorking = false; } //} } OnVolumeCheck(this, vca); } catch (Exception e) { Trace.TraceError("Volume check error: " + e); } }