/// <summary> /// Init /// </summary> /// <param name="bitsPerSample"></param> /// <param name="channels"></param> public void Init(ServerThread st, string soundDeviceName, int samplesPerSecond, int bitsPerSample, int channels, int soundBufferCount, uint jitterBufferCount, uint jitterBufferMilliseconds) { //Werte übernehmen this.ServerThread = st; this.SamplesPerSecond = samplesPerSecond; this.BitsPerSample = bitsPerSample; this.Channels = channels; this.SoundBufferCount = soundBufferCount; this.JitterBufferCount = jitterBufferCount; this.JitterBufferMilliseconds = jitterBufferMilliseconds; //Player this.Player = new WinSound.Player(); this.Player.Open(soundDeviceName, samplesPerSecond, bitsPerSample, channels, soundBufferCount); //Wenn ein JitterBuffer verwendet werden soll if (jitterBufferCount >= 2) { //Neuen JitterBuffer erstellen this.JitterBuffer = new WinSound.JitterBuffer(this.Player, jitterBufferCount, jitterBufferMilliseconds); this.JitterBuffer.DataAvailable += new WinSound.JitterBuffer.DelegateDataAvailable(OnJitterBufferDataAvailable); this.JitterBuffer.Start(); } //Protocol this.Protocol = new WinSound.Protocol(WinSound.ProtocolTypes.LH, Encoding.Default); this.Protocol.DataComplete += new WinSound.Protocol.DelegateDataComplete(OnProtocolDataComplete); //Initialisiert IsInitialized = true; }
/// <summary> /// Dispose /// </summary> public void Dispose() { //Protocol if (Protocol != null) { this.Protocol.DataComplete -= new WinSound.Protocol.DelegateDataComplete(OnProtocolDataComplete); this.Protocol = null; } //JitterBuffer if (JitterBuffer != null) { JitterBuffer.Stop(); JitterBuffer.DataAvailable -= new WinSound.JitterBuffer.DelegateDataAvailable(OnJitterBufferDataAvailable); this.JitterBuffer = null; } //Player if (Player != null) { Player.Close(); this.Player = null; } //Nicht initialisiert IsInitialized = false; }
/// <summary> /// Start /// </summary> public void Init() { try { //WinSoundServer m_Player = new WinSound.Player(); } catch (Exception ex) { //MessageBox.Show(ex.Message, "Fehler beim Initialisieren", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void StopPlayingToSounddevice_Client() { if (m_PlayerClient != null) { m_PlayerClient.Close(); m_PlayerClient = null; } //JitterBuffer beenden if (m_JitterBufferClientPlaying != null) { m_JitterBufferClientPlaying.Stop(); } //Timer beenden //m_TimerProgressBarPlayingClient.Stop(); }
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(); }