¿Cómo escribir NAudio WaveStream en un flujo de memoria?

Tengo un programa que toma datos mp3 en una matriz de bytes. Debe convertir los datos mp3 en formato wav y almacenarlos en un byte. Estoy tratando de usar NAudio para este propósito. Estoy usando el siguiente código para este propósito.

Stream inputStream = ...;
Stream outputStream = ...;

using (WaveStream waveStream = WaveFormatConversionStream.CreatePcmStream(new Mp3FileReader(inputStream)))
using (WaveFileWriter waveFileWriter = new WaveFileWriter(outputStream, waveStream.WaveFormat))
{
    byte[] bytes = new byte[waveStream.Length];
    waveStream.Read(bytes, 0, waveStream.Length);
    waveFileWriter.WriteData(bytes, 0, bytes.Length);
    waveFileWriter.Flush();
}

Cuando ejecuto el código anterior, todo lo que recibo es 0 en la matriz de bytes. Pero si usa WaveFileWriter para escribir los datos directamente en un archivo, el archivo recibe los datos correctos. ¿Alguna razón?

Respuestas a la pregunta(2)

Su respuesta a la pregunta