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