如何从 C# 中的原始音频样本中创建 wave STREAM?

ref*_*gee 5 c# audio stream wav

如何从 C# 中的原始音频样本中创建 wave STREAM?

Mus*_*sis 2

下面是一个用 C# 读写 WAV 文件的很好的示例项目:

http://www.codeproject.com/KB/audio-video/Concatenation%5FWave%5FFiles.aspx

假设您的“原始音频”是一个短(2 字节)整数数组,这是一个简单的任务。WAV 文件的标头为 44 字节(请参阅注释),因此您首先写出标头(使用示例中的代码),然后写出数据。

注意: 并非所有 WAV 文件都是“规范的”,这意味着它们并非全部都有 44 字节标头后跟数据。WAV 格式实际上是一种 RIFF 格式,这意味着它们可以包含各种不同的数据,并且标头不一定位于开头。然而,这些都不重要,因为您只是编写WAV 文件。

更新: 如果语音识别程序需要一个流(而不是文件路径),则很容易创建MemoryStream如下内容:

byte[] bytes = System.IO.File.ReadAllBytes("c:\whatever.wav"); 
System.IO.MemoryStream stream = new System.IO.MemoryStream(bytes); 
Run Code Online (Sandbox Code Playgroud)

或者,您可以完全避免文件 I/O,并首先将 WAV 文件创建为内存中字节数组,然后从中创建MemoryStream.