JSFiddle - React, Tailwind, and code Playground

by mickel8

JavaScript

async function run() {
  pc1 = new RTCPeerConnection();
  pc2 = new RTCPeerConnection();

  tr = pc1.addTransceiver("audio");

  offer = await pc1.createOffer();
  await pc1.setLocalDescription(offer);
  await pc2.setRemoteDescription(offer);
  answer = await pc2.createAnswer();
  await pc2.setLocalDescription(answer);
  await pc1.setRemoteDescription(answer);

  // once MediaStreamTrack is ready,
  // start sending it with replaceTrack
  const localStream = await navigator.mediaDevices.getUserMedia({ audio: true, video: false});
  await tr.sender.replaceTrack(localStream.getTracks()[0]);
};

run();