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