Ouvindo o áudio de entrada do microfone

Eu só quero ouvir o que eu digo ao microfone usando o NAudio e este é o meu código até agora, mas o problema é que não consigo ouvir nada. Qualquer ajuda seria apreciada.

public partial class frmMain : Form
    {
        private WaveIn waveIn; // Gets an audio from microphone
        private WaveOut waveOut; // Sends audio to speaker
        private BufferedWaveProvider waveProvider; // Gets an audio from stream

        public frmMain()
        {
            InitializeComponent();
        }

        private void frmMain_Load(object sender, EventArgs e)
        {
            waveOut = new WaveOut();
            waveIn = new WaveIn();
            waveProvider = new BufferedWaveProvider(waveIn.WaveFormat);

            waveOut.Init(waveProvider);             

            waveIn.DataAvailable += waveIn_DataAvailable;

            waveOut.Play();            
        }

        private void waveIn_DataAvailable(object sender, WaveInEventArgs e)
        {
            waveProvider.Read(e.Buffer, 0, e.BytesRecorded);
        }

        private void btnStop_Click(object sender, EventArgs e)
        {
            waveIn.StopRecording();
            waveIn.Dispose();
        }

        private void btnStart_Click(object sender, EventArgs e)
        {
            waveIn.StartRecording();
        }
    }

Eu vou usar este cenário na programação de rede em que eu enviar os dados do microfone para o soquete, em seguida, no lado do cliente o BufferedWaveProvider irá ler os dados, em seguida, enviá-lo para o alto-falante. Por favor, coloque também algum comentário se é a melhor maneira de fazê-lo.

TIA

questionAnswers(1)

yourAnswerToTheQuestion