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

找快照网站查询商务网站的主要内容

找快照网站查询,商务网站的主要内容,网站建设课程设计实训总结,企业营销网站媒体能力协商过程 RTCPeerConnection(核心类) 基本格式 pc new RTCPeerConnection([configiration]); RTCPeerConnection方法分类 媒体协商Stream/Track传输相关方法统计相关方法 媒体协商过程 协商状态变化 媒体协商方法 createOffercreateAnswe…

媒体能力协商过程

RTCPeerConnection(核心类)

  • 基本格式
    pc = new RTCPeerConnection([configiration]);

RTCPeerConnection方法分类

  • 媒体协商
  • Stream/Track
  • 传输相关方法
  • 统计相关方法

媒体协商过程

在这里插入图片描述

协商状态变化

在这里插入图片描述

媒体协商方法

  • createOffer
  • createAnswer
  • setLocalDescription
  • setRemoeteDescription

createOffer

  • 基本格式
    aPromise = myPeerConnection.createOffer([options]);

createAnswer

  • 基本格式
    aPromise = myPeerConnection.createAnswer([options]);

setLocalDescription

  • 基本格式
    aPromise = myPc.setLocalDescription(sessionDescription);

setRemoeteDescription

  • 基本格式
    aPromise = myPc.setRemoeteDescription(sessionDescription);

Track方法

  • addTrack
  • removeTrack

addTrack

  • 基本格式
    rtpSender = myPc.addTrack(track, stream…);
  • 参数
    track: 添加到RTCPeerConnection中的媒体轨
    stream:指定track所在的stream

removeTrack

  • 基本格式
    myPc.removeTrack(rtpSender);

重要事件

  • onnegotiationneeded
  • onicecandidate

1:1连接的基本流程

在这里插入图片描述

实战:本机内的1:1音视频互通

index.html

<html><head><title>WebRTC PeerConnection</title></head><body><div><video id="localvideo" autoplay playsinline></video><video id="remotevideo" autoplay playsinline></video><div><button id="start">Start</button><button id="call">Call</button><button id="hangup">HangUp</button></div></div><script src="https://webrtc.github.io/adapter/adapter-latest.js"></script><script src="js/main.js"></script></body>
</html>

main.js

'use strict'var localVideo = document.querySelector('video#localVideo');
var remoteVideo = document.querySelector('video#remoteVideo');
var btnStart = document.querySelector('button#start');
var btnCall = document.querySelector('button#call');
var btnHangUp= document.querySelector('button#hangup');var localStream;
var pc1;
var pc2;function gotMediaStream(stream){localVideo.srcObject = stream;localStream = stream;
}function handleError(err){console.log("Failed to call getUserMedia", err);
}function start(){var constraints = {video: true,audio: false }if(!navigator.mediaDevices ||!navigator.mediaDevices.getUserMedia){return;}else {navigator.mediaDevices.getUserMedia(constraints).then(gotMediaStream).catch(handleError);}}function gotAnswerDescription(desc){pc2.setLocalDescription(desc);//send sdp to caller//recieve sdp from calleepc1.setRemoteDescription(desc);}function gotLocalDescription(desc){pc1.setLocalDescription(desc);//send sdp to callee//receive sdp from caller pc2.setRemoteDescription(desc);	pc2.createAnswer().then(gotAnswerDescription).catch(handleError);
}function gotRemoteStream(e){if(remoteVideo.srcObject !== e.streams[0]){remoteVideo.srcObject = e.streams[0];}
}function call(){var offerOptions = {offerToReceiveAudio: 0,offerToReceiveVideo: 1 }pc1 = new RTCPeerConnection();pc1.onicecandidate = (e) => {// send candidate to peer// receive candidate from peerpc2.addIceCandidate(e.candidate).catch(handleError);console.log('pc1 ICE candidate:', e.candidate);}pc1.iceconnectionstatechange = (e) => {console.log(`pc1 ICE state: ${pc.iceConnectionState}`);console.log('ICE state change event: ', e);}pc2 = new RTCPeerConnection();pc2.onicecandidate = (e)=> {// send candidate to peer// receive candidate from peerpc1.addIceCandidate(e.candidate).catch(handleError);console.log('pc2 ICE candidate:', e.candidate);}pc2.iceconnectionstatechange = (e) => {console.log(`pc2 ICE state: ${pc.iceConnectionState}`);console.log('ICE state change event: ', e);}pc2.ontrack = gotRemoteStream;//add Stream to callerlocalStream.getTracks().forEach((track)=>{pc1.addTrack(track, localStream);});pc1.createOffer(offerOptions).then(gotLocalDescription).catch(handleError);}function hangup(){pc1.close();pc2.close();pc1 = null;pc2 = null;}btnStart.onclick = start;
btnCall.onclick = call;
btnHangUp.onclick = hangup;
http://www.dtcms.com/a/506335.html

相关文章:

  • 网站建设图标推广员是干什么的
  • 热可可怎么做视频网站免费看电视的网站
  • 浅谈电子商务网站建设与管理赣楠脐橙网络营销推广方式
  • 建设网站课程设计摘要做翻译网站 知乎
  • 建设门户网站所需wordpress去掉页脚
  • 记事本做网站背景微信小程序制作商
  • 钓鱼网站手机建筑网
  • 徐州网站建设商城制作网站推广seo页面设计软件教程
  • 有pc网站视觉设计图
  • 欧美网站设计风格创意设计师个人网站
  • 珠宝网站建设方案wordpress添加按钮
  • 个人网站备案如何取名称wordpress怎么中文字体
  • 龙岩有什么招聘本地网站房地产新闻最近
  • 找人做网站需要什么条件信息服务平台怎么赚钱
  • 海口房地产网站建设网页制作三剑客不包括
  • aspsqlserver做网站嘉兴网站排名优化费用
  • 网站流量与广告费各大网站的名字
  • 上海建设主管部门网站现代简约风格装修案例
  • 如何创建网站的快捷方式默认开启评论 wordpress
  • 做英文网站用什么字体好做网站应该选择怎样的公司
  • 广州网站优化方式镇江市城市建设投资公司官方网站
  • 新乡移动网站建设哪做网站便宜
  • 可以推广网站想做外贸怎么找客户
  • 免费搭建公司网站浙江建设信息港网站考试成绩查询
  • 婚纱网站目录优化seo百度排名优化
  • 北京建站模板制作wordpress wmv
  • 深圳网站建设 信科便宜成都建设网站公司简介
  • 广源建设集团有限公司网站wordpress响应式主题always
  • 广东网站快速备案南阳市建设局网站
  • 昆明做网站建设怎么样济南百度推广电话