[英]send array of bytes to System.Media.SoundPlayer in c#
我想將字符串發送給揚聲器,如下所示:
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
如您所見,完全有可能在標頭中組合這幾個字節,並在原始音頻數據之前發送它們,
NAudio是發揮該功能的最佳應用程序。 使用提供的示例應用程序可能會有所幫助。
您可以使用某些庫從麥克風讀取數據或將其播放到揚聲器。 我成功地使用了: NAudio- http : //naudio.codeplex.com/
我不建議您自己構建WAV文件,這樣做可能會花費很多精力。 請注意,該庫(還有可能廣泛使用的Bass - http://www.un4seen.com也可能被廣泛使用)還具有用於保存和讀取WAV文件的內置功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.