public void Start() { try { //Wenn geöffnet if (m_Player.Opened) { //Wenn JitterBuffer if (UseJitterBuffer) { m_JitterBuffer.Stop(); } } else { //Zeitmessungen zurücksetzen ResetTimeMeasurements(); //WinSound Player öffnen m_Player.Open(Config.SoundDeviceName, Config.SamplesPerSecond, Config.BitsPerSample, Config.Channels, Config.BufferCount); //Wenn JitterBuffer if (UseJitterBuffer) { InitJitterBuffer(); m_JitterBuffer.Start(); } } } catch (Exception ex) { } }
private void StartPlayingToSounddevice_Client() { //JitterBuffer starten if (m_JitterBufferClientPlaying != null) { InitJitterBufferClientPlaying(); m_JitterBufferClientPlaying.Start(); } if (m_PlayerClient == null) { m_PlayerClient = new WinSound.Player(); m_PlayerClient.Open(m_Config.SoundOutputDeviceNameClient, m_Config.SamplesPerSecondClient, m_Config.BitsPerSampleClient, m_Config.ChannelsClient, (int)m_Config.JitterBufferCountClient); } //Timer starten //m_TimerProgressBarPlayingClient.Start(); }
/// <summary> /// StartRecordingFromSounddevice /// </summary> private void StartRecordingFromSounddevice() { try { if (IsServerRunning == false) { //Buffer Grösse berechnen int bufferSize = 0; if (m_Config.IsTimeSyncClient) { bufferSize = WinSound.Utils.GetBytesPerInterval((uint)m_Config.SamplesPerSecondClient, m_Config.BitsPerSampleClient, m_Config.ChannelsClient) * (int)m_RecorderFactor; } else { bufferSize = WinSound.Utils.GetBytesPerInterval((uint)m_Config.SamplesPerSecondClient, m_Config.BitsPerSampleClient, m_Config.ChannelsClient); } //Wenn Buffer korrekt if (bufferSize > 0) { //Recorder erstellen m_Recorder = new WinSound.Recorder(); //Events hinzufügen m_Recorder.DataRecorded += new WinSound.Recorder.DelegateDataRecorded(OnDataReceivedFromSoundcard); m_Recorder.RecordingStopped += new WinSound.Recorder.DelegateStopped(OnRecordingStopped); //Recorder starten if (m_Recorder.Start(comboBoxDevs.SelectedItem.ToString(), m_Config.SamplesPerSecondClient, m_Config.BitsPerSampleClient, m_Config.ChannelsClient, m_SoundBufferCount, bufferSize)) { //Wenn JitterBuffer if (m_Config.IsTimeSyncClient) { m_JitterBuffer.Start(); } } } } } catch (Exception ex) { ShowError(ex.Message); } }
/// <summary> /// StartRecording /// </summary> private void StartRecording() { try { //Buffer Grösse je nach JitterBuffer berechnen int bufferSize = 0; if (Config.UseJitterBuffer) { bufferSize = WinSound.Utils.GetBytesPerInterval((uint)Config.SamplesPerSecond, Config.BitsPerSample, Config.Channels) * (int)m_RecorderFactor; } else { bufferSize = WinSound.Utils.GetBytesPerInterval((uint)Config.SamplesPerSecond, Config.BitsPerSample, Config.Channels); } if (bufferSize > 0) { if (m_Recorder.Start(Config.SoundDeviceName, Config.SamplesPerSecond, Config.BitsPerSample, Config.Channels, Config.BufferCount, bufferSize)) { //ShowStarted_StreamSound(); //Wenn JitterBuffer if (Config.UseJitterBuffer) { m_JitterBuffer.Start(); m_TimerProgressBarJitterBuffer.Start(); } } else { //ShowError(); } } else { System.Diagnostics.Debug.WriteLine(String.Format("BufferSize must be greater than 0. BufferSize: {0}", bufferSize)); } } catch (Exception ex) { //MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void StartRecordingFromSounddevice_Client() { try { if (IsRecorderFromSounddeviceStarted_Client == false) { //Buffer Grösse berechnen int bufferSize = 0; if (UseJitterBufferClientRecording) { bufferSize = WinSound.Utils.GetBytesPerInterval((uint)m_Config.SamplesPerSecondClient, m_Config.BitsPerSampleClient, m_Config.ChannelsClient) * (int)m_RecorderFactor; } else { bufferSize = WinSound.Utils.GetBytesPerInterval((uint)m_Config.SamplesPerSecondClient, m_Config.BitsPerSampleClient, m_Config.ChannelsClient); } //Wenn Buffer korrekt if (bufferSize > 0) { //Recorder erstellen m_Recorder_Client = new WinSound.Recorder(); //Events hinzufügen m_Recorder_Client.DataRecorded += new WinSound.Recorder.DelegateDataRecorded(OnDataReceivedFromSoundcard_Client); //Recorder starten if (m_Recorder_Client.Start(m_Config.SoundInputDeviceNameClient, m_Config.SamplesPerSecondClient, m_Config.BitsPerSampleClient, m_Config.ChannelsClient, m_SoundBufferCount, bufferSize)) { //Wenn JitterBuffer if (UseJitterBufferClientRecording) { m_JitterBufferClientRecording.Start(); } } } } } catch (Exception) { } }