webRtc实战
前言:
- 呼叫者通过
navigator.mediaDevices.getUserMedia()
(en-US) 捕捉本地媒体。 - 呼叫者创建一个
RTCPeerConnection
并调用RTCPeerConnection.addTrack()
(注:addStream
已经过时。) - 呼叫者调用
RTCPeerConnection.createOffer()
来创建一个提议(offer). - 呼叫者调用
RTCPeerConnection.setLocalDescription()
(en-US) 将提议(Offer) 设置为本地描述 (即,连接的本地描述). - setLocalDescription()之后, 呼叫者请求 STUN 服务创建ice候选(ice candidates)
- 呼叫者通过信令服务器将提议(offer)传递至 本次呼叫的预期的接受者.
- 接受者收到了提议(offer) 并调用
RTCPeerConnection.setRemoteDescription()
将其记录为远程描述 (也就是连接的另一端的描述). - 接受者做一些可能需要的步骤结束本次呼叫:捕获本地媒体,然后通过
RTCPeerConnection.addTrack()
添加到连接中。 - 接受者通过
RTCPeerConnection.createAnswer()
(en-US) 创建一个应答。 - 接受者调用
RTCPeerConnection.setLocalDescription()
(en-US) 将应答(answer) 设置为本地描述. 此时,接受者已经获知连接双方的配置了. - 接受者通过信令服务器将应答传递到呼叫者.
- 呼叫者接受到应答.
- 呼叫者调用
RTCPeerConnection.setRemoteDescription()
将应答设定为远程描述. 如此,呼叫者已经获知连接双方的配置了.
本文来自博客园,作者:封兴旺,转载请注明原文链接:https://www.cnblogs.com/fxw1/p/15243052.html