From 4f776b950b530ba3c27d3dd17b767321a1a5ecb7 Mon Sep 17 00:00:00 2001 From: Curt Grimes Date: Thu, 3 Jun 2021 07:57:41 -0500 Subject: [PATCH] Catch 'Failed to construct AudioWorkletNode' --- app/components/VolumeMeter.vue | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/components/VolumeMeter.vue b/app/components/VolumeMeter.vue index 02623af..f499ec3 100644 --- a/app/components/VolumeMeter.vue +++ b/app/components/VolumeMeter.vue @@ -164,7 +164,16 @@ export default { } let microphone = audioContext.createMediaStreamSource(stream); - node = new AudioWorkletNode(audioContext, 'volume-meter'); + + try { + node = new AudioWorkletNode(audioContext, 'volume-meter'); + } catch (e) { + if (e.name === 'InvalidStateError') { + // Sometimes users get this and I'm not sure why + // InvalidStateError: Failed to construct 'AudioWorkletNode': AudioWorkletNode cannot be created: The node name 'volume-meter' is not defined in AudioWorkletGlobalScope. + return; + } + } node.port.onmessage = ({ data: volume }) => { this.volume = volume;