当前位置: 首页 > news >正文

企业网站空间选择免费平台源码资源网

企业网站空间选择,免费平台源码资源网,郑州网站建设炉石,网站设计师发展主题 本文详细描述常用的webrtc api 媒体协商类 myPeerConnection.createOffer([options]); var options { offerToReceiveAudio: true, // 告诉另一端,你是否想接收音频,默认true offerToReceiveVideo: true, // 告诉另一端&a…

主题

本文详细描述常用的webrtc api

媒体协商类

myPeerConnection.createOffer([options]);

var options = {     
    offerToReceiveAudio: true,     // 告诉另一端,你是否想接收音频,默认true
    offerToReceiveVideo: true,     // 告诉另一端,你是否想接收视频,默认true
    iceRestart: false,             // 是否在活跃状态重启ICE网络协商
};
 iceRestart:只有在处于活跃的时候,iceRestart=false才有作用。

  RTCPeerConnection .createAnswer([ options ]);

options :
voiceActivityDetection (布尔型,默认 true): 是否启用语音活动检测。
offerToReceiveAudio (整型,默认 1): 希望接收的音频流数量。
offerToReceiveVideo (整型,默认 1): 希望接收的视频流数量。

RTCPeerConnection .setLocalDescription 设置本地sdp描述

RTCPeerConnection .setRemoteDescription设置对端sdp描述

RTCPeerConnection.addTrack(track, ...streams) 用于将一个或多个媒体轨道添加到 RTCPeerConnection
track: 要添加的 MediaStreamTrack 对象。
...streams: 可选的 MediaStream 对象列表,表示该轨道属于哪些流。
例子:
//添加本地轨道
localStream.getTracks().forEach((track) => pc.addTrack(track, localStream));

 

网络协商类

RTCPeerConnection.addIceCandidate(candidate) 添加一个 ICE 候选人

candidate

注意Android和Web端的不同。

 

RTCPeerConnection补充

 pc = new RTCPeerConnection([ configuration ]);

configuration可选
bundlePolicy 一般用maxbundle
     banlanced:音频与视频轨使用各自的传输通道
    maxcompat:每个轨使用自己的传输通道
    maxbundle:都绑定到同一个传输通道
iceTransportPolicy 一般用all
    指定ICE的传输策略
    relay:只使用中继候选者
    all:可以使用任何类型的候选者
iceServers
    其由RTCIceServer组成,每个RTCIceServer都是一个ICE代理的服务器 

 rtcpMuxPolicy 一般用require

 rtcp的复用策略,该选项在收集ICE候选者时使用

使用例子: 

var defaultConfiguration = {bundlePolicy: "max-bundle",rtcpMuxPolicy: "require",iceTransportPolicy: "all",//relay 或者 all// 修改ice数组测试效果,需要进行封装iceServers: [{"urls": ["turn:192.168.1.25:3478?transport=udp","turn:192.168.1.25:3478?transport=tcp"     // 可以插入多个进行备选],"username": "jbj","credential": "123456"},{"urls": ["stun:192.168.1.25:3478"]}]};pc = new RTCPeerConnection(defaultConfiguration);

重要事件回调 

onicecandidate 事件:

  • RTCPeerConnection 对象收集到一个新的 ICE 候选人时,会触发这个事件。

  • 事件回调函数会收到一个 RTCPeerConnectionIceEvent 对象,其中包含新收集到的 RTCIceCandidate 对象。

  • 你可以在这个事件处理函数中,将收集到的 ICE 候选人发送给对方对等端。

ontrack 事件:

  • RTCPeerConnection 对象接收到来自远端的媒体流时,会触发这个事件。

  • 事件回调函数会收到一个 RTCTrackEvent 对象,其中包含新收到的 MediaStreamTrack 对象以及相关的 MediaStream 对象。

  • 你可以在这个事件处理函数中,将接收到的媒体流添加到页面上进行渲染。

onconnectionstatechange 事件:

  • RTCPeerConnection 对象的连接状态发生变化时,会触发这个事件。

  • 连接状态可以是 newconnectingconnecteddisconnectedfailedclosed

  • 你可以在这个事件处理函数中,根据连接状态的变化采取相应的措施,如更新 UI、重试连接等。

oniceconnectionstatechange 事件:

  • RTCPeerConnection 对象的 ICE 连接状态发生变化时,会触发这个事件。

  • ICE 连接状态可以是 newcheckingconnectedcompleteddisconnectedfailedclosed

  • 你可以在这个事件处理函数中,根据 ICE 连接状态的变化采取相应的措施,如诊断网络问题、重试连接等。

学习资料分享

0voice · GitHub

http://www.yayakq.cn/news/681226/

相关文章:

  • 华威桥网站建设网站建设推广工资
  • 博星卓越网站建设实验代码h5页面制作网站官网
  • html网站登录界面模板台州专业制作网站
  • 威远移动网站建设沥林网站制作
  • 做网站外包公司名称大全国家企业信用网企业查询
  • 线上兼职的正规网站网页设计留言板怎么做
  • 小型深圳网站页面设计阿里云空间部署网站吗
  • 建网站价格网站建设公司 北京
  • 网站怎么做联系我们页面wordpress从哪里登录
  • 表白网页制作网站北京门户网站
  • 大同市住房与城乡建设厅网站企业邮箱免费登录入口
  • 网站的配色方案资源网站怎么做
  • 衡阳公司网站建设中国建设银行网站设计评价
  • 网站换新域名做建材的哪些网站
  • 陕西恒发建设网站给wordpress添加背景音乐
  • 做空气开关那个网站推广比较好商标注册多少钱
  • 辽宁建设工程信息网新网站深圳布吉建网站公司
  • 微网站建设及微信公众号咸宁制作网站
  • 品牌商品怎么做防伪网站售房网站模板
  • 河北网站seo免费学软件的自学网站
  • 做视频哪个网站收入高马关住房和城乡建设局网站
  • 做网站去哪好免费的黄冈网站有哪些平台
  • 四川省住房城乡建设厅网站首页中国工程建设招聘信息网站
  • 网站建设公司广告标题语做跨境的网站有哪些内容
  • asp 网站信箱模板怎么创建自己的小程序商城
  • 政务信息网站建设研究南京软件外包
  • 建设一个网站平台的费用吗宁德市安全教育平台
  • 青岛网站建设系统海南公司网站建设
  • 网站前台怎么套用织梦后台横泉水库建设管理局网站
  • 便宜网站建设模板网站什么网站可以做护考题