我正在尝试使用NAudio将WAV文件转换为WMA文件。我设法让它部分工作,但声音效果的最后几秒被切断了。
WaveFileReader wr = new WaveFileReader(@"C:\mywav.wav");
WmaWriter ww = new WmaWriter(new FileStream(@"C:\mywma.wma",FileMode.Create),new WaveFormat(44100,2),profile);
byte[] buff = null;
int read = 0;
buff=new byte[wr.Length];
read = wr.Read(buff,0,buff.Length);
while ((read > 0))
{
ww.Write(buff,0,read);
read = wr.Read(buff,0,buff.Length);
}
这只是部分写入WMA文件,而不是整个WAV文件。或者有没有办法在C#中转换为WMA而不需要NAudio?
答案 0 :(得分:2)
正如评论中所讨论的那样,在编写器(实际上是读者)中使用using
块,以便正确刷新和关闭流。