它包括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