private void ConfigureAudioDevice() { var waveProvider = new WaveProvider(console.AudioBuffer); audioDevice = new WaveOut(); audioDevice.Init(waveProvider); }
public void Close() { m_waveOutPlayer.PlaybackStopped -= WaveOut_PlaybackStopped; InSample = null; OutSample = null; if (m_waveOutPlayer != null) { m_waveOutPlayer.Dispose(); m_waveOutPlayer = null; } if (m_waveProvider != null) { m_waveProvider = null; } IsOpen = false; }
public void Open() { if (InSample == null) { throw new InvalidOperationException("In Sample is not set."); } if (DataRequired == null) { throw new InvalidOperationException("DataRequired event is not subscribed to."); } Format outFormat = new Format( InSample.SampleRate, 4, InSample.Channels); OutSample = null; OutFormat = outFormat; m_waveProvider = new WaveProvider(DataRequired, this); m_waveOutPlayer = new WaveOut(); m_waveOutPlayer.NumberOfBuffers = 2; m_waveOutPlayer.DesiredLatency = m_desiredLatencyInMs; m_waveOutPlayer.PlaybackStopped += WaveOut_PlaybackStopped; Latency = m_desiredLatencyInMs * m_bytesPerSample * OutFormat.Channels * OutFormat.SampleRate / 1000; m_waveOutPlayer.Init(m_waveProvider); IsOpen = true; }
public void RemoveAudioStream(IWaveProvider provider) { WaveProvider.RemoveInputStream(provider); }
public void AddAudioStream(IWaveProvider provider) { WaveProvider.AddInputStream(provider); }
public WaveSinkFilter() { m_waveOutPlayer = null; m_waveProvider = null; }