AudioWorklet: port

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

Dies ermöglicht eine benutzerdefinierte, asynchrone Kommunikation zwischen dem Code im Hauptthread und dem globalen Gültigkeitsbereich eines Audio-Worklets, wie zum Beispiel das Empfangen von Steuerdaten oder globalen Einstellungen.

Wert

Das MessagePort-Objekt, das den AudioWorklet und seinen 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