在整個音頻共享模塊中,UDP內網穿透技術是實現多個不同內網節(jié)點之間的UDP音頻流互相轉發(fā)的技術重點。音頻對講過程可分解為音頻壓縮、發(fā)送的輸出過程和音頻接收、解壓、播放的輸入過程。而多人音頻對講的過程實際上就是多個節(jié)點的系統(tǒng)中,兩兩節(jié)點之間的音頻流收發(fā)過程。在這里無法直接處理的環(huán)節(jié)是每個參與音頻對講的節(jié)點作為服務器端接收其他節(jié)點發(fā)送過來的音頻流數據的輸入過程,因為大部分參與者都沒有自己的公網IP,這樣的內網節(jié)點直接在本地啟動一個接收音頻流的服務器線程,不在同一內網之內的其他節(jié)點無法直接連接到這個服務器。雖然可以通過在每個局域網和公網之間的路由器上添加端口映射將內網服務端口呈現在公網上,但這樣做涉及到要修改每個節(jié)點對應的路由器配的置以及權限等問題,不是理想可用的實現方法。使用UDP內網穿透技術,可以使一個普通的內網節(jié)點在需要時將自己的服務器端口自動的呈現在公網上,并且能夠讓系統(tǒng)內其他節(jié)點正確獲取這個音頻接收服務器的地址,以便其他節(jié)點能夠將自己的音頻流發(fā)送到這個音頻接收端口。