/// <summary> /// StopRecordingFromSounddevice /// </summary> private void StopRecordingFromSounddevice() { try { if (IsServerRunning) { //Stoppen m_Recorder.Stop(); //Events entfernen m_Recorder.DataRecorded -= new WinSound.Recorder.DelegateDataRecorded(OnDataReceivedFromSoundcard); m_Recorder.RecordingStopped -= new WinSound.Recorder.DelegateStopped(OnRecordingStopped); m_Recorder = null; //Wenn JitterBuffer if (m_Config.IsTimeSyncClient) { m_JitterBuffer.Stop(); } } } catch (Exception ex) { ShowError(ex.Message); } }
/// <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); } }
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) { } }
private void StopRecordingFromSounddevice_Client() { try { if (IsRecorderFromSounddeviceStarted_Client) { //Stoppen m_Recorder_Client.Stop(); //Events entfernen m_Recorder_Client.DataRecorded -= new WinSound.Recorder.DelegateDataRecorded(OnDataReceivedFromSoundcard_Client); m_Recorder_Client = null; //Wenn JitterBuffer if (UseJitterBufferClientRecording) { m_JitterBufferClientRecording.Stop(); } } } catch (Exception) { } }