JSFiddle - React, Tailwind, and code Playground

by mickel8

JavaScript

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

  tr = pc1.addTransceiver("audio", { direction: "recvonly" });

  offer = await pc1.createOffer();

  await pc1.setLocalDescription(offer);
  await pc2.setRemoteDescription(offer);

  // change direction from default "recvonly" to "sendonly"
  // in other case, when negotiation finishes,
  // currentDirection of this transceiver will be inactive
  pc2.getTransceivers()[0].direction = "sendonly";

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

  console.log(pc2.getTransceivers()[0].direction);
  console.log(pc2.getTransceivers()[0].currentDirection);
}

run();