1. 程式人生 > >通過網路傳送和播放麥克風的聲音

通過網路傳送和播放麥克風的聲音

文件及程式碼下載:http://www.dingos.cn/index.php?topic=362.0


介紹

這個例子主要告訴你如何獲取麥克風的聲音且通過UDP方式傳送給另外的計算機。加入雙方都能播放聲音且把麥克風的聲音傳送給對方,這個程式可當作一個P2P的電話。原始碼將通過檔案的方式釋出在網站上,附件中還有第二個程式,此程式主要包括一個能傳送/接收/壓縮語音成g711編碼的UDP服務端。僅僅通過UDP方式來傳送語音並不是一個很好的方案,RTP才是正確的傳送方法。RTP在傳輸語音的過程中增加了質監服務,你能看到在傳輸過程中丟失了多少包和有多少包亂序了。

package含有:

LumiSoft.Media - Audio相關API (包含在例子程式中)
LumiSoft.Net - UDP伺服器, G711編碼

程式碼使用

WaveIn - 提供一個簡單的從麥克風獲取聲音方法的類。
實際上你僅僅需要做的事:
WavIn.Devices - 返回所有能獲取到聲音資料的可用輸入裝置。


WaveOut - 提供播放流媒體資料的方法。
你僅僅需要做的事呼叫 waveoutInstance.Play 方法。

注意:聲音質量依賴於網路延時,假如網路延時很大,聲音將變差。另外, 丟包和亂序也會影響聲音質量。