From 59847dc927ea8bd235b9a9cb0d547717bc6ba0cf Mon Sep 17 00:00:00 2001 From: "Glitch (hello-express)" Date: Mon, 25 May 2020 18:45:25 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A5=F0=9F=90=95=20Checkpoint=20./publi?= =?UTF-8?q?c/main.js:3115263/1701=20./views/index.html:3115263/36?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/main.js | 21 +++++++++++++++++++++ views/index.html | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/public/main.js b/public/main.js index d77b9c2..0b162e0 100644 --- a/public/main.js +++ b/public/main.js @@ -3,6 +3,7 @@ let messagesEl = document.querySelector('.messages'); let peerIdEl = document.querySelector('#connect-to-peer'); +let videoEl = document.querySelector('.remote-video'); let logMessage = (message) => { let newMessage = document.createElement('div'); @@ -10,6 +11,11 @@ let logMessage = (message) => { messagesEl.appendChild(newMessage); }; +let renderVideo = (stream) => { + videoEl.srcObject = stream; + videoEl.onloadedmetadata = (e) => videoEl.play(); +}; + let peer = new Peer({ host: '/', path: '/peerjs/myapp' @@ -29,6 +35,14 @@ peer.on('connection', (conn) => { conn.send('hello!'); }); }); +peer.on('call', (call) => { + navigator.mediaDevices.getUserMedia({video: true, audio: true}, (stream) => { + call.answer(stream); // Answer the call with an A/V stream. + call.on('stream', renderVideo); + }, (err) => { + console.error('Failed to get local stream', err); + }); +}); let connectToPeer = () => { let peerId = peerIdEl.value; @@ -41,6 +55,13 @@ let connectToPeer = () => { conn.on('open', () => { conn.send('hi!'); }); + + navigator.mediaDevices.getUserMedia({video: true, audio: true}, (stream) => { + let call = peer.call(peerId, stream); + call.on('stream', renderVideo); + }, (err) => { + logMessage('Failed to get local stream', err); + }); }; window.connectToPeer = connectToPeer; \ No newline at end of file diff --git a/views/index.html b/views/index.html index 04729a8..a952efd 100644 --- a/views/index.html +++ b/views/index.html @@ -21,7 +21,7 @@ - +