0

我正在使用 MediaFoundationReader 和 ResamplerDmoStream 将 MP4(音频)文件重新采样到 WAV 到 WaveFormat(16000、16、1)。重新采样后,我将流发送到语音 API 进行转录,但 API 失败,因为流不包含 WAV 标头。如果我将流保存到 WAV 文件(使用 WaveFileWriter),再次读取文件,然后将流发送到 API,那么 API 可以工作,因为流包含 WAV 标头。有没有办法在 ResamplerDmoStream 重新采样后将 WAV 标头添加到流中,以防止耗时的 I/O?

4

1 回答 1

1

您可以使用WaveFileWriter写入Stream. 所以在这种情况下,我会写信到 a MemoryStream,并且WaveFileWriter必须处理 ,以便正确完成 WAV 标头。但是随后您将拥有 WAV 文件的内存表示。

需要注意的是,您可能最终会在MemoryStream处理.WaveFileWriterIgnoreDisposeStreamMemoryStream

于 2016-09-08T21:30:00.143 回答