将字节数组发送到 C# 中的 System.Media.SoundPlayer



我想将字符串字节发送到扬声器,如下所示:

byte[] bt = {12,32,43,74,23,53,24,54,234,253,153};// example array
var ms = new MemoryStream(bt);
var sound = new System.Media.SoundPlayer();
sound.Stream = ms;
sound.Play();

但我得到这个例外:我的问题图片 http://8pic.ir/images/g699b52xe5ap9s8yf0pz.jpg

WAV 流的第一个字节包含有关长度等的信息。您还必须在前几个字节中发送此"WAV-Header"。

见 http://de.wikipedia.org/wiki/RIFF_WAVE

正如您将看到的那样,完全可以在标头中编写这几个字节并在原始音频数据之前发送它们,

您可以使用一些库从麦克风读取数据或将其播放到扬声器。我成功地与:瑙迪奥 - http://naudio.codeplex.com/

我不建议自己构建 WAV 文件,这可能太费力了。请注意,这个库(可能还有其他一些,Bass - http://www.un4seen.com 也被广泛使用)也具有用于保存和读取 WAV 文件的内置功能。

NAudio是玩该功能的最佳应用程序。 使用提供的示例应用。它可能会有所帮助。

相关内容

  • 没有找到相关文章

最新更新