Pepguy's picture
Update public/index.js
032a736 verified
window.onload = () => {
document.getElementById('my-button').onclick = () => {
init();
}
}
async function init() {
const stream = await navigator.mediaDevices.getUserMedia({ video: true });
document.getElementById("video").srcObject = stream;
const peer = createPeer();
stream.getTracks().forEach(track => peer.addTrack(track, stream));
}
function createPeer() {
const peer = new RTCPeerConnection({
iceServers: [
{
urls: "stun:stun.stunprotocol.org"
}
]
});
peer.onnegotiationneeded = () => handleNegotiationNeededEvent(peer);
return peer;
}
async function handleNegotiationNeededEvent(peer) {
const offer = await peer.createOffer();
await peer.setLocalDescription(offer);
const payload = {
sdp: peer.localDescription
// , roomId: "gods"
};
const { data } = await axios.post('/broadcast', payload);
const desc = new RTCSessionDescription(data.sdp);
peer.setRemoteDescription(desc).catch(e => console.log(e));
}