The isConfigSupported() static method of the AudioEncoder interface checks if the given config is supported (that is, if AudioEncoder objects can be successfully configured with the given config).
AudioEncoder.isConfigSupported(config)
A Promise that resolves with an object containing the following members:
supported -
A boolean value which is true if the given config is supported by the encoder.
config -
A copy of the given config with all the fields recognized by the encoder.
The following example tests if the browser supports several audio codecs.
const codecs = ["mp4a.40.2", "mp3", "alaw", "ulaw"];
const configs = [];
for (const codec of codecs) {
configs.push({
codec,
sampleRate: 48000,
numberOfChannels: 1,
not_supported_field: 123,
});
}
for (const config of configs) {
const support = await AudioEncoder.isConfigSupported(config);
console.log(
`AudioEncoder's config ${JSON.stringify(support.config)} support: ${
support.supported
}`,
);
}