NAudio流采样8位数据

时间:2013-08-29 11:19:22

标签: c# audio-streaming naudio

我正在尝试流式传输并播放来自TCP:端口的音频数据。 数据是无符号8位,数据速率是11.025KHz。

我接收数据没有问题,但我需要一些代码帮助才能让音频流与C#和NAudio一起使用。

1 个答案:

答案 0 :(得分:2)

NAudio有BufferedWaveProvider课程,仅供您参考。您可以像这样使用它:

var bufferedStream = new BufferedWaveProvider(format);
var waveOut = new WaveOut();
waveOut.Init(bufferedStream);
waveOut.Play();

现在你应该为缓冲提供者提供你的数据(可能在另一个线程中):

var buffer = GetData(); // Here is your code
bufferedStream.AddSamples(buffer, 0, buffer.Length);

您可能想要检查缓冲区中是否有足够的数据,否则暂停播放或其他内容。

This tutorial解释了它如何在NAuduo中发挥作用。 here就是一个例子。