1. 程式人生 > >IM即時通訊(五) 語音傳輸

IM即時通訊(五) 語音傳輸

前一篇說了檔案傳輸,那麼語音傳輸也是基於檔案傳輸的。

但是也不完全是,有兩種形式:

        1、檔案 
        2、流媒體

比如QQ的"按住說話",發語音訊息,就是傳送音訊檔案,由附近的伺服器轉發。

但是QQ電話是基於流媒體的,視訊電話亦是基於流媒體的。

QQ按照他們自己定義的協議,以及規則在網路中進行資料的安全傳輸。

比如,Android平臺上是通過AudioRecord介面來實現PCM資料的採集,所以我們只需要再做些編解碼、網路傳輸、語音播放、UI互動等工作就行了。這裡涉及到OnTouch方法的使用,以及如果要實現視訊聊天也並非難事,原理也是一樣的,這裡需要注意的是,編解碼可能會涉及到JNI,所以不知道有此事的可以先去了解一下。如果要在外網能夠使用,可能還涉及到NAT打洞等,如果不是本地服務,而是外網伺服器的話,可以省去很多問題。