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

相关文章
相关标签/搜索