从零实现WebRTC(三):WebRTC中重要的API
文章目录
- 一、createOffer
- 二、createAnswer
- 三、SetLocalDescription
- 四、SetRemoteDescription
- 五、addTrack
- 六、addCandidate
- 七、RTCPeerConnection
- 重要事件
一、createOffer
aPromise = myPeerConnection.createOffer(option)
opeion = {
Audio = True,
Video = True,
iceReStart:false; //ice不会重启,不会再去获取候选地址,重启了直接走媒体协商这一步了。当然,只有在会话活跃状态下iceRestart = False才会起作用。
};
二、createAnswer
基本同上
三、SetLocalDescription
设置本地的SDP
四、SetRemoteDescription
设置远端的SDP
五、addTrack
addTrack分为音频和视频。
六、addCandidate
七、RTCPeerConnection
对于每一次通话中的每一个track都要new一个rtcpeerconnection
configuration可选:
- bundlepolicy : max-bundle
- icetransportpolicy : relay : 只使用中继继承者【在局域网中测试coturn使用】; all : 选用所有类型的继承者
- iceservers : 由RTCServer构成。
- rtcMuxPolicy: 一般用require
重要事件
- onicecandidate: 收到候选者时触发的事件
- ontrack:获取远端流
- onconnectionstatechange: 当peerconnection的连接状态发生改变的时候发生的事情。connected / disconnected / fail / close