TURN的全称为Traversal Using Relays around NAT,是STUN/RFC5389的一个拓展,重要添加了Relay功能。如果终端在NAT之后, 那么在特定的景象下,有大概使得终端无法和其对等端(peer)举行直接的通讯,这时就需要公网的服务器作为一个中继, 对来往的数据举行转发。这个转发的协议就被界说为TURN。
在上图的底子上,再架设几台TURN服务器:
当触发onOpenCamera调用时
a. 设置束缚条件,即是getUserMedia函数的入参
b. getUserMedia有两种情况,一种是正常打开摄像头,使用handleSuccess处理;一种是打开摄像头失败,使用handleError处理
c. 当正常打开摄像头时,则将getUserMedia返回的stream对象赋值给video控件的srcObject即可将视频表现出来
3.1.2、示例代码
3.2、打开麦克风
实战:打开麦克风并在页面播放捕获的声音,效果展示
3.2.1、代码流程
初始化button、audio控件
绑定“打开麦克风”响应变乱onOpenMicrophone
如果要打开麦克风则点击 “打开麦克风”按钮,以触发onOpenMicrophone变乱的调用
当触发onOpenCamera调用时
a. 设置束缚条件,即是getUserMedia函数的入参
b. getUserMedia有两种情况,一种是正常打开麦克风,使用handleSuccess处理;一种是打开麦克风失败,使用handleError处理
c. 当正常打开麦克风时,则将getUserMedia返回的stream对象赋值给audio控件的srcObject即可将声音播放出来