mp3 データをバイト配列で取り込むプログラムがあります。その mp3 データを wav 形式に変換し、バイト データに格納する必要があります。この目的で NAudio を使用しようとしています。この目的のために次のコードを使用しています。
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();
}
上記のコードを実行すると、バイト配列に 0 しか返されません。ただし、WaveFileWriter を使用してデータをファイルに直接書き込むと、ファイルは正しいデータを受け取ります。理由はありますか?