Tof*_*nov 2 c# audio directsound wav
我已将音频录制到CaptureBuffer,但我无法弄清楚如何将其保存到wav文件中.我试过这个(http://www.tek-tips.com/faqs.cfm?fid=4782),但它不起作用,或者我没有正确使用它.有人知道如何解决这个问题吗?示例代码将非常感激.
WAV文件是由两个主要"块"组成的RIFF文件.第一个是格式块,描述音频的格式.这将是您在(例如44.1kHz)记录的采样率,什么位深度(例如16位)和多少通道(单声道或立体声).WAV也支持压缩格式,但您不太可能记录压缩的音频,因此您的记录缓冲区将包含PCM音频.
然后是数据块.这是WAV文件中包含捕获缓冲区中实际音频数据的部分.这必须采用格式块中描述的格式.
作为NAudio项目的一部分,我创建了一个WaveFileWriter类来简化创建WAV文件.您传入一个描述捕获音频格式的WaveFormat.然后你可以简单地写入原始捕获的数据.
以下是一些关于如何使用WaveFileWriter的简单示例代码:
WaveFormat format = new WaveFormat(16000, 16, 1); // for mono 16 bit audio captured at 16kHz
using (var writer = new WaveFileWriter("out.wav", format)
{
writer.WriteData(captureBuffer, 0, captureBuffer.Length);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1949 次 |
| 最近记录: |