Конвертировать mp4 голосовой файл в поток WAV

Я использовал этот код для повторной выборки файла и его сохранения, но файл звучит как запись в режиме перемотки вперед

using (MediaFoundationReader reader = new MediaFoundationReader(url))
{
    using (ResamplerDmoStream resampledReader = new ResamplerDmoStream(reader, new WaveFormat(16000, 16, 1)))
        {
            using (WaveFileWriter waveWriter = new WaveFileWriter(@"c:\test.wav", resampledReader.WaveFormat))
                {
                    resampledReader.CopyTo(waveWriter);
                }
         }
}

2 ответа

WaveFileWriter должен иметь то же самое WaveFormat как resampledReader, Так пройдите в resampledReader.WaveFormat к WaveFileWriter конструктор.

Я не уверен, что означает пересчет, но если вам нужно получить wav из видео, это работает...

using (var video = new MediaFoundationReader(file))
{
    file = TempWav;
    WaveFileWriter.CreateWaveFile(file, video);
}
Другие вопросы по тегам