/** * @class SharedArrayBufferProcessor * @extends AudioWorkletProcessor * * This processor class demonstrates passing SharedArrayBuffers to and from * workers. */ class SharedArrayBufferProcessor extends AudioWorkletProcessor { constructor() { super(); this.port.onmessage = this.handleMessage.bind(this); this.port.onmessageerror = this.handleMessageError.bind(this); let sab = new SharedArrayBuffer(8); this.port.postMessage({state: 'created', sab}); } handleMessage(event) { this.port.postMessage({ state: 'received message', isSab: event.data instanceof SharedArrayBuffer }); } handleMessageError(event) { this.port.postMessage({ state: 'received messageerror' }); } process() { return true; } } registerProcessor('sharedarraybuffer-processor', SharedArrayBufferProcessor);