Como reproduzir um fluxo de MP3 em C #

Quero reproduzir um fluxo de MP3 no meu aplicativo C #. Eu tenho um aplicativo de servidor que captura áudio wave e o converte em MP3, depois grava-o em um fluxo de rede. O cliente então lê esse fluxo para reproduzir o MP3. Eu tentei o NAudio com o seguinte exemplo de código, mas resulta em exceção:

using (WaveStream blockAlignedStream =
                new BlockAlignReductionStream(
                    WaveFormatConversionStream.CreatePcmStream(
                        new Mp3FileReader(ms))))
            {
                using (WaveOut waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback()))
                {
                    waveOut.Init(blockAlignedStream);
                    waveOut.Play();                        
                    while (waveOut.PlaybackState == PlaybackState.Playing )                        
                    {
                        System.Threading.Thread.Sleep(100);
                    }
                }
            }