4
我有一個程序,需要在一個字節數組中的MP3數據。它必須將該mp3數據轉換爲wav格式並將其存儲在一個字節數據中。我正在嘗試爲此使用NAudio。我正在使用下面的代碼來達到這個目的。如何將NAudio WaveStream寫入內存流?
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將數據直接寫入文件,則文件將接收到正確的數據。有什麼理由?
你試過設置位置爲0,讀它之前?只是一個想法。 – 2012-07-16 08:19:14
@ChrisGessler WaveFileWriter不允許搜索。 – gibraltar 2012-07-16 09:23:36
不指WaveFileWriter,WaveStream應該能夠尋找。 – 2012-07-16 09:44:04