diff --git a/src/plugins/htmlAudioPlayer/plugin.js b/src/plugins/htmlAudioPlayer/plugin.js index 131b8cdfee..067d94c48c 100644 --- a/src/plugins/htmlAudioPlayer/plugin.js +++ b/src/plugins/htmlAudioPlayer/plugin.js @@ -124,13 +124,17 @@ class HtmlAudioPlayer { } if (normalizationGain) { - self.gainNode.gain.value = Math.pow(10, normalizationGain / 20); - self.normalizationGain = self.gainNode.gain.value; + self.normalizationGain = Math.pow(10, normalizationGain / 20); + self.gainNode.gain.value = self.normalizationGain; } else { self.gainNode.gain.value = 1; self.normalizationGain = 1; } - console.debug('gain: ' + self.gainNode.gain.value); + if (browser.safari) { + // Gain value is absolute in Safari. Add volume from the slider + self.gainNode.gain.value *= elem.volume; + } + console.debug('gain: ' + self.normalizationGain); }).catch((err) => { console.error('Failed to add/change gainNode', err); });