将 mp4 语音文件转换为 WAV 流
Posted
技术标签:
【中文标题】将 mp4 语音文件转换为 WAV 流【英文标题】:Convert mp4 voice file to WAV stream 【发布时间】:2016-08-23 09:47:49 【问题描述】:我使用此代码重新采样文件并保存它,但文件听起来像是快进录音:
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);
【问题讨论】:
【参考方案1】:WaveFileWriter
必须与resampledReader
具有相同的WaveFormat
。所以将resampledReader.WaveFormat
传递给WaveFileWriter
构造函数。
【讨论】:
如果我需要最终 WAV 为 16kHz、16 位、单声道,我是否应该再次重新采样以确保获得所需的 WAV? 您只需要重新采样一次。使用目标采样率,而不是源采样率。 我根据你的指示重写了代码(有问题的编辑),但它仍然听起来像 FF【参考方案2】:我不确定重采样是什么意思,但如果您需要从视频中获取 wav,这可行...
using (var video = new MediaFoundationReader(file))
file = TempWav;
WaveFileWriter.CreateWaveFile(file, video);
【讨论】:
以上是关于将 mp4 语音文件转换为 WAV 流的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 python 将 .264 文件转换为 avi\wav
如何使用 Nodejs 将 wav 文件转换为 8000hz