Limited availability

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

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

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.

The AudioEncoder interface of the WebCodecs API encodes AudioData objects.

EventTarget AudioEncoder


AudioEncoder() Experimental

Creates a new AudioEncoder object.

Instance properties

Inherits properties from its parent, EventTarget.

AudioEncoder.encodeQueueSize Read only Experimental

An integer representing the number of encode queue requests.

AudioEncoder.state Read only Experimental

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


dequeue Experimental

Fires to signal a decrease in AudioEncoder.encodeQueueSize.

Static methods

AudioEncoder.isConfigSupported() Experimental

Returns a promise indicating whether the provided AudioEncoderConfig is supported.

Instance methods

Inherits methods from its parent, EventTarget.

AudioEncoder.configure() Experimental

Enqueues a control message to configure the audio encoder for encoding chunks.

AudioEncoder.encode() Experimental

Enqueues a control message to encode a given AudioData objects.

AudioEncoder.flush() Experimental

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

AudioEncoder.reset() Experimental

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

AudioEncoder.close() Experimental

Ends all pending work and releases system resources.


# audioencoder-interface

Browser compatibility

BCD tables only load in the browser