JSFiddle - React, Tailwind, and code Playground

JavaScript

async function encodeWithFormat(format) {
  const audioEncoder = new AudioEncoder({
    output: (_, meta) => console.log(meta.decoderConfig?.description),
    error: console.error
  });
  audioEncoder.configure({
    codec: 'opus',
    numberOfChannels: 2,
    sampleRate: 48000,
    bitrate: 64000,
    opus: {
      format
    }
  });

  const audioData = new AudioData({
    format: "f32-planar",
    sampleRate: 48000,
    numberOfFrames: 48000,
    numberOfChannels: 2,
    timestamp: 0,
    data: new Float32Array(48000 * 2) // Silence
  });
  
  console.log(`Encoding with format ${format}:`);

  audioEncoder.encode(audioData);
  await audioEncoder.flush();
}

encodeWithFormat('opus')
	.then(() => encodeWithFormat('ogg'));