public void AudioDelayPlus() { try { if (_baseFilterLavAudio != null) { ILAVAudioSettings asett = _baseFilterLavAudio as ILAVAudioSettings; if (asett != null) { bool enable; int delay; var hr = asett.GetAudioDelay(out enable, out delay); DsError.ThrowExceptionForHR(hr); hr = asett.SetAudioDelay(true, delay + AudioDelayInterval); DsError.ThrowExceptionForHR(hr); } } } catch (Exception) { if (_baseFilterLavAudio != null) { DirectShowUtil.ReleaseComObject(_baseFilterLavAudio); _baseFilterLavAudio = null; } } }
private void PlayerStateChanged(object sender, PlayerStateEventArgs e) { if (e.OldState == PlayerState.Closed) { var audioDecoder = Player.Filters.Audio.FirstOrDefault(f => f.ClsId == s_ClsIdLavAudioDecoder); if (audioDecoder == null) { return; } ComThread.Do(() => { var settings = (ILAVAudioSettings)audioDecoder.Base; m_LavAudioSettings = settings; }); m_AddDelayMenu.Enabled = true; m_MinusDelayMenu.Enabled = true; m_ResetDelayMenu.Enabled = true; } else if (e.NewState == PlayerState.Closed) { m_LavAudioSettings = null; m_AddDelayMenu.Enabled = false; m_MinusDelayMenu.Enabled = false; m_ResetDelayMenu.Enabled = false; } }
public void AudioDelayMinus() { try { if (_baseFilterLavAudio != null) { ILAVAudioSettings asett = _baseFilterLavAudio as ILAVAudioSettings; if (asett != null) { bool enable; int delay; var hr = asett.GetAudioDelay(out enable, out delay); DsError.ThrowExceptionForHR(hr); hr = asett.SetAudioDelay(true, delay - AudioDelayInterval); DsError.ThrowExceptionForHR(hr); } } } catch (Exception ex) { Log.Error("LAVEngine: AudioDelayMinus: {0}", ex.Message); if (_baseFilterLavAudio != null) { DirectShowUtil.ReleaseComObject(_baseFilterLavAudio); _baseFilterLavAudio = null; } } }
private void PlayerStateChanged(object sender, PlayerStateEventArgs e) { if (e.OldState == PlayerState.Closed) { var audioDecoder = Player.Filters.Audio.FirstOrDefault(f => f.ClsId == s_ClsIdLavAudioDecoder); if (audioDecoder == null) return; ComThread.Do(() => { var settings = (ILAVAudioSettings)audioDecoder.Base; m_LavAudioSettings = settings; }); m_AddDelayMenu.Enabled = true; m_MinusDelayMenu.Enabled = true; m_ResetDelayMenu.Enabled = true; } else if (e.NewState == PlayerState.Closed) { m_LavAudioSettings = null; m_AddDelayMenu.Enabled = false; m_MinusDelayMenu.Enabled = false; m_ResetDelayMenu.Enabled = false; } }