Проблема буфера приложения Naudio chat
Я создал TCP-аудиочат(базовый) ...
Он работает около 1 секунды, а затем говорит, что буфер заполнен
Я хочу использовать это как планшет для домофона планшета входной двери
Сервер
WaveIn waveIn = new WaveIn(); // int deviceID = Cmb_InputDevices.SelectedIndex; waveIn.BufferMilliseconds = 50; waveIn.DeviceNumber = 0; waveIn.WaveFormat = new WaveFormat(44100, 1);//, WaveIn.GetCapabilities(deviceID).Channels); // Lamewriter = new LameMP3FileWriter(Application.StartupPath + @"\128bits.mp3", waveIn.WaveFormat, LAMEPreset.ABR_128); waveIn.DataAvailable += WaveIn_DataAvailable; waveIn.StartRecording(); private void WaveIn_DataAvailable(object sender, WaveInEventArgs e) { try { byte[] decodedData = null; decodedData = G711.Encode_aLaw(e.Buffer, 0, e.Buffer.Length); Stream.Write(decodedData, 0, decodedData.Length); // NetworkStream } catch (Exception ex) { // MessageBox.Show(ex.ToString()); } } >
Клиент
< WaveOut waveOut; WaveIn sourceStream; waveOut = null; sourceStream = null; waveOut = new WaveOut(); sourceStream = new WaveIn(); sourceStream.BufferMilliseconds = 50; sourceStream.DeviceNumber = 0; sourceStream.WaveFormat = new WaveFormat(44100, 1);//bitRate, bitDepth); waveProvider = new BufferedWaveProvider(sourceStream.WaveFormat); waveOut.Init(waveProvider); waveOut.Play(); // sourceStream.StartRecording(); byte[] decodedData = null;//new byte[44100]; byte[] bytes = new byte[1024]; try { while(true) { textBox1.AppendText(Encoding.ASCII.GetString(bytes, 0, bytes.Length)); stream.Read(bytes, 0, bytes.Length); decodedData = G711.Decode_aLaw(bytes, 0, bytes.Length); waveProvider.AddSamples(decodedData, 0, decodedData.Length); // waveOut.Play(); } }catch(Exception ex) { }
Проблема заключается в буферных байтах ...
Что я уже пробовал:
Я пробовал много версий этого, включая использование
sourceStream.DataAvailable += SourceStream_DataAvailable;
Никакая радость
Я надеюсь, что есть решение ...