private void StopAudio() { if (m_Player != null) { try { m_Player.Dispose(); } finally { m_Player = null; } } if (m_Recorder != null) { try { m_Recorder.Dispose(); } finally { m_Recorder = null; } } m_Fifo.Flush(); // clear all pending data }
private void button1_Click(object sender, EventArgs e) { openFileDialog1.ShowDialog(); using (var reader = new Mp3FileReader(openFileDialog1.FileName)) { var pcmLength = (int)reader.Length; _leftBuffer = new byte[pcmLength / 2]; var buffer = new byte[pcmLength]; var bytesRead = reader.Read(buffer, 0, pcmLength); int index = 0; for (int i = 0; i < bytesRead; i += 4) { _leftBuffer[index] = buffer[i]; index++; _leftBuffer[index] = buffer[i + 1]; index++; } var player = new WaveLib.WaveOutPlayer(-1, new WaveLib.WaveFormat(44100, 16, 1), _leftBuffer.Length, 1, (data, size) => { byte[] b = _leftBuffer; System.Runtime.InteropServices.Marshal.Copy(b, 0, data, size); }); } }
/// <summary> /// Конец записи/воспроизведения звука /// </summary> public void Stop() { ThreadListen.Suspend(); if (m_Player != null) { try { m_Player.Dispose(); } finally { m_Player = null; } } if (m_Recorder != null) { try { m_Recorder.Dispose(); } finally { m_Recorder = null; } } m_Fifo.Flush(); }
private void Start() { Stop(); try { WaveLib.WaveFormat fmt = new WaveLib.WaveFormat(44100, 16, 2); m_Player = new WaveLib.WaveOutPlayer(-1, fmt, 16384, 3, new WaveLib.BufferFillEventHandler(Filler)); m_Recorder = new WaveLib.WaveInRecorder(-1, fmt, 16384, 3, new WaveLib.BufferDoneEventHandler(DataArrived)); } catch { Stop(); throw; } }
/// <summary> /// Начало записи/воспроизведения звука /// </summary> public void Start() { Stop(); ThreadListen.Resume(); try { WaveLib.WaveFormat fmt = new WaveLib.WaveFormat(22050, 16, 2); m_Player = new WaveLib.WaveOutPlayer(-1, fmt, 32000, 5, new WaveLib.BufferFillEventHandler(Filler)); m_Recorder = new WaveLib.WaveInRecorder(-1, fmt, 32000, 5, new WaveLib.BufferDoneEventHandler(DataSend)); } catch { Stop(); throw; } }
private void StartAudio() { StopAudio(); try { // Rates: 44100, 22050, 88200 // Valore buono: 44100, 16, 1 / Buffer 8192, 2 //WaveLib.WaveFormat fmt = new WaveLib.WaveFormat(44100, 16, 2); //m_Player = new WaveLib.WaveOutPlayer(-1, fmt, 8192, 3, new WaveLib.BufferFillEventHandler(Filler)); //m_Recorder = new WaveLib.WaveInRecorder(-1, fmt, 8192, 3, new WaveLib.BufferDoneEventHandler(SendAudioFrame)); WaveLib.WaveFormat fmt = new WaveLib.WaveFormat(22050, 16, 1); m_Player = new WaveLib.WaveOutPlayer(-1, fmt, 8192, 2, new WaveLib.BufferFillEventHandler(Filler)); m_Recorder = new WaveLib.WaveInRecorder(-1, fmt, 8192, 2, new WaveLib.BufferDoneEventHandler(SendAudioFrame)); } catch { StopAudio(); throw; } }
/// <summary> /// Конец записи/воспроизведения звука /// </summary> public void Stop() { ThreadListen.Suspend(); if (m_Player != null) try { m_Player.Dispose(); } finally { m_Player = null; } if (m_Recorder != null) try { m_Recorder.Dispose(); } finally { m_Recorder = null; } m_Fifo.Flush(); }
private void Stop() { if (m_Player != null) try { m_Player.Dispose(); } finally { m_Player = null; } if (m_Recorder != null) try { m_Recorder.Dispose(); } finally { m_Recorder = null; } m_Fifo.Flush(); // clear all pending data }