我从网络接收来自DIS的数据包,并希望将这些数据包转换为wav文件。我将缓冲区添加到我的提供者,如下所示。
WaveFileWriter writer;
public Player()
{
writer = new WaveFileWriter(@"c:\_temp\file.wav", waveProvider.WaveFormat);
}
public void AddSamples(byte[] leftDataBuffer)
{
waveProvider.AddSamples(leftDataBuffer, 0, leftDataBuffer.Length);
writer.Write(leftDataBuffer, 0, leftDataBuffer.Length);
}
如何在此函数本身中将缓冲区添加到同一文件中?请帮忙。
答案 0 :(得分:1)
我不确定您是在尝试播放音频,还是仅将其保存为WAV。如果只是创建WAV,请使用WaveFileWriter
代替BufferedWaveProvider
并呼叫Write
传入收到的音频。
但如果您愿意,可以同时使用这两种数据,将收到的数据写入WaveFileWriter
并将其放入BufferedWaveProvider
进行实时播放。