JSFiddle - React, Tailwind, and code Playground

by mickel8

JavaScript

async function run() {
  pc1 = new RTCPeerConnection();
  pc2 = new RTCPeerConnection();
  
  pc2.ontrack = ev => {
  	ev.track.onmute = _ => console.log("pc2 track onmute");
    console.log("pc2 ontrack");
  }

  tr = pc1.addTransceiver("audio");

  offer = await pc1.createOffer();
  await pc1.setLocalDescription(offer);
  // this will trigger track event
  await pc2.setRemoteDescription(offer);

  // reject incoming track by setting the direction to "inactive"
  pc2.getTransceivers()[0].direction = "inactive";

  answer = await pc2.createAnswer();
  console.log("Setting local description on pc2");
  // this will trigger mute event 
  await pc2.setLocalDescription(answer);
  await pc1.setRemoteDescription(answer);
};

run();