From f1bde3a7a0fdc4050315a3dd0225a15d5cd7cce0 Mon Sep 17 00:00:00 2001 From: N-Pex Date: Fri, 25 Oct 2024 12:50:14 +0200 Subject: [PATCH] Check audio context support --- src/plugins/utils.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/utils.js b/src/plugins/utils.js index 86346d3..bdc8646 100644 --- a/src/plugins/utils.js +++ b/src/plugins/utils.js @@ -502,13 +502,16 @@ class Util { } generateWaveform(data, messageContent) { + if (!(window.AudioContext || window.webkitAudioContext)) { + return; // No support + } const audioCtx = new (window.AudioContext || window.webkitAudioContext)(); if (audioCtx) { return audioCtx.decodeAudioData(data) .then((audioBuffer) => { - const rawData = audioBuffer.getChannelData(0); // We only need to work with one channel of data - const samples = 1000; // Number of samples we want to have in our final data set - const blockSize = Math.floor(rawData.length / samples); // the number of samples in each subdivision + const rawData = audioBuffer.getChannelData(0); // TODO - currently using only 1 channel + const samples = 1000; // Number of samples + const blockSize = Math.floor(rawData.length / samples); let filteredData = []; for (let i = 0; i < samples; i++) { let blockStart = blockSize * i; // the location of the first sample in the block