WebRTC 原生API

WebRTC 原生API

它包括Stream和PeerConnection兩部分,它們的結構圖以下: git

原生API代碼地址
測試Demo地址
該API基於WebRTC 1.0: Real-time Communication Between Browsers作的再次封裝,爲原生開發App開發者提供便利;github

呼叫時序圖

撥打方的時序圖

App的經過工廠方法建立本地媒體流,將本地流添加到新建的PeerConnection上,本地PeerConnection跟遠端PeerConnection發送Offer以及接收到遠端PeerConnection的Answer後而後就能夠開始媒體通信了。web

接聽方的時序圖

App的PC觀察者接收到遠端發送的Offer,經過PC的工廠方法建立本地流添加到PC上,而後本地PC向遠端PC發送Answer消息。而後開啓媒體對話。api

掛斷時序圖

App的PC觀察者關閉PC,PC將狀態改成kClosing,而後移除本地流,發送shutdown消息給遠端PC,遠端PC發送ok給本地PC,本地PC狀態改成kClosed。測試

線程模型

主要使用了2個線程:signaling(信號線程)和worker
在signaling線程執行的任務有: 調用Stream APIs 、 PeerConnection APIs 以及全部回調
在worker線程執行的任務有:google

相關文章
相關標籤/搜索