AudioWorklet: port

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die schreibgeschützte Eigenschaft port des AudioWorklet-Interfaces gibt ein MessagePort-Objekt zurück, das verwendet werden kann, um Nachrichten zwischen dem Haupt-Thread und dem zugehörigen AudioWorkletGlobalScope zu senden und zu empfangen.

Dies ermöglicht eine benutzerdefinierte, asynchrone Kommunikation zwischen Code im Haupt-Thread und dem globalen Bereich eines Audio-Worklets, wie das Empfangen von Steuerungsdaten oder globalen Einstellungen.

Wert

Das MessagePort-Objekt, das den AudioWorklet und den zugehörigen AudioWorkletGlobalScope verbindet.

Beispiele

Siehe AudioWorkletNode.port für weitere Beispiele.

Verwendung eines Ports für globale Nachrichten

Im folgenden Beispiel können wir port.onmessage verwenden, um Daten zu empfangen, und port.postMessage, um Daten zu senden:

js
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,
});

Spezifikationen

Specification
Web Audio API
# dom-audioworklet-port

Browser-Kompatibilität

Siehe auch