/// <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> /// 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> /// InitJitterBuffer /// </summary> private void InitJitterBuffer() { //Wenn vorhanden if (m_JitterBuffer != null) { m_JitterBuffer.DataAvailable -= new WinSound.JitterBuffer.DelegateDataAvailable(OnDataAvailable); } //Neu erstellen m_JitterBuffer = new WinSound.JitterBuffer(null, m_JitterBufferCount, m_Milliseconds); m_JitterBuffer.DataAvailable += new WinSound.JitterBuffer.DelegateDataAvailable(OnDataAvailable); }
/// <summary> /// InitJitterBuffer /// </summary> private void InitJitterBuffer() { //Wenn vorhanden if (m_JitterBuffer != null) { m_JitterBuffer.DataAvailable -= new WinSound.JitterBuffer.DelegateDataAvailable(OnDataAvailable); } //Neu erstellen m_JitterBuffer = new WinSound.JitterBuffer(null, (uint)20, 20); m_JitterBuffer.DataAvailable += new WinSound.JitterBuffer.DelegateDataAvailable(OnDataAvailable); }
private void InitJitterBufferClientPlaying() { //Wenn vorhanden if (m_JitterBufferClientPlaying != null) { m_JitterBufferClientPlaying.DataAvailable -= new WinSound.JitterBuffer.DelegateDataAvailable(OnJitterBufferClientDataAvailablePlaying); } //Neu erstellen m_JitterBufferClientPlaying = new WinSound.JitterBuffer(null, m_Config.JitterBufferCountClient, 20); m_JitterBufferClientPlaying.DataAvailable += new WinSound.JitterBuffer.DelegateDataAvailable(OnJitterBufferClientDataAvailablePlaying); }
private void InitJitterBufferServerRecording() { //Wenn vorhanden if (m_JitterBufferServerRecording != null) { m_JitterBufferServerRecording.DataAvailable -= new WinSound.JitterBuffer.DelegateDataAvailable(OnJitterBufferServerDataAvailable); } //Neu erstellen m_JitterBufferServerRecording = new WinSound.JitterBuffer(null, RecordingJitterBufferCount, 20); m_JitterBufferServerRecording.DataAvailable += new WinSound.JitterBuffer.DelegateDataAvailable(OnJitterBufferServerDataAvailable); }
/// <summary> /// InitJitterBuffer /// </summary> private void InitJitterBuffer() { //Wenn vorhanden if (m_JitterBuffer != null) { m_JitterBuffer.DataAvailable -= new WinSound.JitterBuffer.DelegateDataAvailable(OnJitterBufferDataAvailable); } //Neu erstellen m_JitterBuffer = new WinSound.JitterBuffer(null, m_Config.JitterBufferCount, 20); m_JitterBuffer.DataAvailable += new WinSound.JitterBuffer.DelegateDataAvailable(OnJitterBufferDataAvailable); }