我正在尝试使用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#中不需要NAudio的情况下转换为WMA?
发布于 2012-05-09 06:27:41
正如评论中所讨论的,对写入器(实际上也是读取器)使用using块,以便正确地刷新和关闭流。
https://stackoverflow.com/questions/10506885
复制相似问题