没有数据流或缓冲区的C#音频输出

问题描述:

我正在研究一个我想要一些音频输出的程序。我会使用System.Media.SoundPlayer,除了数据是动态和实时生成的。我真的只想将扬声器设置为单个字节值,并在需要时更改该值。任何缓冲区或流将使这过于复杂。没有数据流或缓冲区的C#音频输出

+1

即使在最低级别也需要缓冲区,因为在音频硬件上允许您一次发送一个样本。 – 2013-04-05 02:08:02

你不能。 System.Media.SoundPlayer适用于流,可以根据需要动态生成或从文件生成。

学习如何使用流。他们并不复杂。当然不那么复杂,然后动态生成音频。

+0

让Read()覆盖并一次返回一个样本并使用'SoundPlayer'输出它是非常复杂的。 – 2013-04-05 02:29:48

+0

@DanielMošmondor,一个样本是,但没有一个字节,因为OP询问。 'SoundPlayer'需要有效的wav数据并彻底验证标题。 – 2013-04-05 02:44:01

+0

Op必须知道音频粒度是一个样本而不是一个字节。和WAV头很容易被伪造:) – 2013-04-05 08:35:57