Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Dedicated Web Workers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The AudioDecoder interface of the WebCodecs API decodes chunks of audio.

EventTarget AudioDecoder


AudioDecoder() Experimental

Creates a new AudioDecoder object.

Instance properties

Inherits properties from its parent, EventTarget.

AudioDecoder.decodeQueueSize Read only Experimental

An integer representing the number of decode queue requests.

AudioDecoder.state Read only Experimental

Represents the state of the underlying codec and whether it is configured for decoding.


dequeue Experimental

Fires to signal a decrease in AudioDecoder.decodeQueueSize.

Static methods

AudioDecoder.isConfigSupported() Experimental

Returns a promise indicating whether the provided AudioDecoderConfig is supported.

Instance methods

Inherits methods from its parent, EventTarget.

AudioDecoder.configure() Experimental

Enqueues a control message to configure the audio decoder for decoding chunks.

AudioDecoder.decode() Experimental

Enqueues a control message to decode a given chunk of audio.

AudioDecoder.flush() Experimental

Returns a promise that resolves once all pending messages in the queue have been completed.

AudioDecoder.reset() Experimental

Resets all states including configuration, control messages in the control message queue, and all pending callbacks.

AudioDecoder.close() Experimental

Ends all pending work and releases system resources.


# audiodecoder-interface

Browser compatibility

BCD tables only load in the browser