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'));