【发布时间】:2013-11-06 10:59:56
【问题描述】:
我已经使用 NAudio 将双数组 output[] 转换为 wav 文件。该文件在 VLC 播放器和 Windows Media Player 中播放正常,但是当我尝试在 Winamp 中打开它,或使用 wavread() 在 Matlab 中访问它时,我失败了..(在 Matlab 中我收到错误:“ Invalid Wave File。原因: WAV 文件中的块大小信息不正确。”,这很明显意味着标头有问题)。关于如何解决这个问题的任何想法?以下是将数组转换为 WAV 的代码:
float[] floatOutput = output.Select(s => (float)s).ToArray();
WaveFormat waveFormat = new WaveFormat(16000, 16, 1);
WaveFileWriter writer = new WaveFileWriter("C:\\track1.wav", waveFormat);
writer.WriteSamples(floatOutput, 0, floatOutput.Length);
【问题讨论】: