JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdn.webrtc-experiment.com/RTCMultiConnection-v2.0.js"></script>
<hr />
<button id="open-room">Open Room</button>
<button id="join-room">Join Room</button>
<hr />
CSS
video {
width: 30%;
}
button[disabled] {
background: rgba(216, 205, 205, 0.2);
border: 1px solid rgb(233, 224, 224);
}
JavaScript
// https://github.com/muaz-khan/RTCMultiConnection#1-link-the-library
// channel-id
var MODERATOR_CHANNEL_ID = 'ABCDEF-' + window.RMCDefaultChannel;
var MODERATOR_SESSION_ID = 'XYZ'; // room-id
var MODERATOR_ID = 'JKL'; // user-id
var MODERATOR_SESSION = { // media-type
audio: true,
video: true
};
var MODERATOR_EXTRA = {}; // empty extra-data
// moderator
document.getElementById('open-room').onclick = function() {
this.disabled = true;
var moderator = new RTCMultiConnection(MODERATOR_CHANNEL_ID);
moderator.session = MODERATOR_SESSION;
moderator.userid = MODERATOR_ID;
moderator.extra = MODERATOR_EXTRA;
moderator.open({
dontTransmit: true,
sessionid: MODERATOR_SESSION_ID
});
};
// participants
document.getElementById('join-room').onclick = function() {
this.disabled = true;
var participants = new RTCMultiConnection(MODERATOR_CHANNEL_ID);
participants.join({
sessionid: MODERATOR_SESSION_ID,
userid: MODERATOR_ID,
extra: MODERATOR_EXTRA,
session: MODERATOR_SESSION
});
};