Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The port read-only property of the AudioWorklet interface returns a MessagePort object that can be used to send and receive messages between the main thread and the associated AudioWorkletGlobalScope.
This allows for custom, asynchronous communication between code in the main thread and the global scope of an audio worklet, such as receiving control data or global settings.
The MessagePort object connecting the AudioWorklet and its associated AudioWorkletGlobalScope.
See AudioWorkletNode.port for more examples.
In the following example, we can use port.onmessage to receive data and port.postMessage to send data:
const context = new AudioContext();
// Load the module that contains worklet code
await context.audioWorklet.addModule("processor.js");
// Listener for messages from AudioWorkletGlobalScope
context.audioWorklet.port.onmessage = (event) => {
console.log("Message from global worklet:", event.data);
};
// Set a global config, for example:
context.audioWorklet.port.postMessage({
volume: 0.8,
});
| Specification |
|---|
| Web Audio API> # dom-audioworklet-port> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
port |
No | No | 138 | No | No | No | 138 | No | No | No | No | No |
AudioWorkletGlobalScope — the global execution context of an AudioWorklet
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/AudioWorklet/port