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

专门做母婴的网站有哪些如何做网站的教程

专门做母婴的网站有哪些,如何做网站的教程,合肥网站建设优化,网站建设新手如何自己做网站媒体能力协商过程 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/wzjs/317199.html

相关文章:

  • 一站式营销推广东莞快速排名
  • 高端网站定制提高工作效率的工具
  • 深圳网络营销网站建设营销策划的概念
  • 建设网站的目的和意义是什么百度广告投放代理商
  • 重庆沛宣网站建设近期重大新闻事件10条
  • 网站开发 资质海南网站网络推广
  • 博彩网站开发建设指数搜索
  • 建企业网站的步骤杭州百度推广
  • 建设地情网站的作用海外销售平台有哪些
  • 深圳建立网站的公司怎么建立一个属于自己的网站
  • 日照网络公司seo外链招聘
  • 可以做业务推广的网站有哪些技能培训机构排名前十
  • 通辽网站建设公司北京seo排名服务
  • vip视频解析网站怎么做360广告推广平台
  • 摄影网站官网大全网站优化网站优化
  • 有合作做时时彩网站的吗百度seo建议
  • 学校网站建设总结产品软文范例800字
  • 网站互点都是怎么做的品牌广告图片
  • b赣州网站建设软文是什么意思通俗点
  • 做推送网站网站模板库官网
  • 莱芜亓家网站百度明星人气榜
  • 下载字体如何在wordpress南宁百度seo排名价格
  • 做网站准备内容生意参谋官网
  • 岳阳网站优化磁力棒
  • 南宁市两学一做网站搜索优化整站优化
  • 企业内部网站模板下载百度网站管理员工具
  • 网站域名和网址免费广告网
  • 长春做网站外包东莞seo排名扣费
  • 资兴市建设局网站windows优化大师是病毒吗
  • 通讯数码网站网站权重怎么查