AudioWorklet: port

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

port 只讀屬性是 AudioWorklet 介面的一部分,它返回一個 MessagePort 物件,該物件可用於在主執行緒和相關的 AudioWorkletGlobalScope 之間傳送和接收訊息。

這允許主執行緒中的程式碼與音訊工作執行緒的全域性作用域之間進行自定義、非同步通訊,例如接收控制資料或全域性設定。

連線 AudioWorklet 及其相關的 AudioWorkletGlobalScopeMessagePort 物件。

示例

有關更多示例,請參閱 AudioWorkletNode.port

使用埠進行全域性訊息傳遞

在以下示例中,我們可以使用 port.onmessage 來接收資料,使用 port.postMessage 來發送資料。

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

規範

規範
Web Audio API
# dom-audioworklet-port

瀏覽器相容性

另見