Я пытаюсь преобразовать файл WAV в файл WMA с помощью NAudio. Мне удалось заставить его частично работать, но последние несколько секунд звукового эффекта обрываются.
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, который читается. В качестве альтернативы есть способ конвертировать в WMA без необходимости использования NAudio в С#?
WmaWriter
позволяет, добавьтеFlush()
иClose()
в конце. В качестве альтернативы используйте блокusing
вокруг модуля записи, чтобы убедиться, что он расположен правильно. Вам могут понадобиться оба. - person yamen   schedule 09.05.2012