https://stackoverflow.com/questions/39328396/prepend-wav-header-in-naudio#马克·希思说:“你可以使用WaveFileWriter向一个新的流写入,所以在这种情况下,我会写到一个新的内存流,为了正确地完成WAV头,必须对WaveFileWriter进行处理。但是这样你就有了一个WAV文件的内存表示。
请注意,当您释放WaveFileWriter时,您可能最终会对内存流进行处理,因此我在NAudio中有一个名为IgnoreDisposeStream的方便类,您可以将MemoryStream封装在其中,以便在使用之前停止释放它。“
如何在c#中包装内存流?
发布于 2018-11-22 12:35:37
public static void ConvertMemoryStreamToWavFile(ref MemoryStream ids, ref
MemoryStream ms)
{
ids.Seek(0, SeekOrigin.Begin);
using (var writer = new WaveFileWriter(new IgnoreDisposeStream(ms), new WaveFormat(22000, 16, 1)))
{
ids.CopyTo(writer);
writer.Flush();
writer.Close();
writer.Dispose();
}
}https://stackoverflow.com/questions/53391335
复制相似问题