WXL (wul)
9 小时以前 1feb410410781eb56159c8fdd856e68d2c23e0a4
1
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d2091f0"],{a869:function(e,t,n){"use strict";n.r(t);var a,c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"container"},[n("div",{staticClass:"header"},[n("div",[e._v(" 房间号: "),n("input",{attrs:{type:"text",id:"room"}}),n("button",{on:{click:function(t){return e.createRoom()}}},[e._v("创建房间")])]),n("div",[e._v(" 对方房间号 "),n("input",{attrs:{type:"text",id:"receive"}}),n("button",{on:{click:function(t){return e.Connect()}}},[e._v("连接")])])]),n("div",{staticStyle:{"margin-top":"20px"}},[n("video",{staticStyle:{width:"500px","object-fit":"cover","margin-right":"100px"},attrs:{src:"",id:"self",autoplay:"",controls:"",muted:""},domProps:{muted:!0}}),n("video",{staticStyle:{width:"500px","object-fit":"cover"},attrs:{src:"",id:"other",autoplay:"",controls:"",muted:""},domProps:{muted:!0}})])])},o=[],i=n("6ec7"),r=n("6932"),d=(n("e4d7"),n("8ada"),n("e795"),window.PeerConnection||window.webkitPeerConnection00||window.webkitRTCPeerConnection||window.mozRTCPeerConnection),s=window.mozRTCIceCandidate||window.RTCIceCandidate,u=window.mozRTCSessionDescription||window.RTCSessionDescription,l={iceServers:[{url:"turn:42.192.40.58:3478?transport=udp",username:"ddssingsong",credential:"123456"},{url:"turn:42.192.40.58:3478?transport=tcp",username:"ddssingsong",credential:"123456"}]},p="",m="",w={data:function(){return{}},created:function(){},methods:{createRoom:function(){var e=this,t=document.getElementById("room");t.value?(p=new WebSocket("wss://127.0.0.1:3000/single?room=".concat(t.value)),p.onopen=Object(r["a"])(Object(i["a"])().m((function t(){var n,c,o;return Object(i["a"])().w((function(t){while(1)switch(t.p=t.n){case 0:return alert("连接成功"),t.p=1,t.n=2,navigator.mediaDevices.getDisplayMedia({video:!0,audio:!1});case 2:n=t.v,console.log(n),a=e.initPC(n),console.log(a),a.addStream(n),console.log(a),c=document.getElementById("self"),c.srcObject=n,console.log(c),t.n=4;break;case 3:t.p=3,o=t.v,console.log(o),alert("获取流失败");case 4:return t.a(2)}}),t,null,[[1,3]])}))),p.onmessage=function(){var t=Object(r["a"])(Object(i["a"])().m((function t(n){var c,o,r;return Object(i["a"])().w((function(t){while(1)switch(t.n){case 0:c=JSON.parse(n.data),r=c.name,t.n="peer"===r?1:"offer"===r?2:"answer"===r?3:"ice_candidate"===r?4:5;break;case 1:return m=c.receiver,e.acceptAudio(),t.a(3,5);case 2:return a.setRemoteDescription(new u(c.data.sdp)),a.createAnswer((function(e){a.setLocalDescription(e),p.send(JSON.stringify({name:"answer",data:{sdp:e},receiver:m}))}),(function(e){console.log(e)})),t.a(3,5);case 3:return a.setRemoteDescription(new u(c.data.sdp)),t.a(3,5);case 4:return o=new s(c.data),a.addIceCandidate(o),t.a(3,5);case 5:return t.a(2)}}),t)})));return function(e){return t.apply(this,arguments)}}()):alert("请输入房间号!!!")},initPC:function(){var e=new d(l);return e.onicecandidate=function(e){e.candidate&&p.send(JSON.stringify({name:"ice_candidate",data:{id:e.candidate.sdpMid,label:e.candidate.sdpMLineIndex,sdpMLineIndex:e.candidate.sdpMLineIndex,candidate:e.candidate.candidate},receiver:m}))},e.onaddstream=function(e){var t=e.stream,n=document.getElementById("other");n.srcObject=t},e},Connect:function(){m=document.getElementById("receive").value,console.log(m),p?m?(p.send(JSON.stringify({name:"createRoom",receiver:m})),console.log("成功")):alert("请输入对方房间号"):alert("先创建自己的房间号!!")},acceptAudio:function(){var e=this;return Object(r["a"])(Object(i["a"])().m((function t(){return Object(i["a"])().w((function(t){while(1)switch(t.n){case 0:try{a.createOffer((function(e){a.setLocalDescription(e),p.send(JSON.stringify({name:"offer",data:{sdp:e},receiver:m}))}),(function(e){console.log(e)}))}catch(n){alert("检测到当前设备不支持麦克风,请设置权限后在重试"),e.socket.close()}case 1:return t.a(2)}}),t)})))()}}},f=w,v=n("1805"),g=Object(v["a"])(f,c,o,!1,null,"6fe32ed8",null);t["default"]=g.exports}}]);