diff --git a/src/plugins/htmlAudioPlayer/plugin.js b/src/plugins/htmlAudioPlayer/plugin.js index 4dde693f8..ee226ebcc 100644 --- a/src/plugins/htmlAudioPlayer/plugin.js +++ b/src/plugins/htmlAudioPlayer/plugin.js @@ -113,16 +113,22 @@ class HtmlAudioPlayer { let val = options.url; console.debug('playing url: ' + val); import('../../scripts/settings/userSettings').then((userSettings) => { - if (userSettings.selectAudioNormalization() == 'TrackGain' && options.item.NormalizationGain != null) { - self.gainNode.gain.value = Math.pow(10, (options.item.NormalizationGain / 20)); - console.debug('[HtmlAudioPlayer] Using track gain'); - } else if (userSettings.selectAudioNormalization() == 'AlbumGain' && options.mediaSource.albumNormalizationGain != null) { - self.gainNode.gain.value = Math.pow(10, (options.mediaSource.albumNormalizationGain / 20)); - console.debug('[HtmlAudioPlayer] Using album gain'); + let normalizationGain; + if (userSettings.selectAudioNormalization() == 'TrackGain') { + normalizationGain = options.item.NormalizationGain + ?? options.mediaSource.albumNormalizationGain; + } else if (userSettings.selectAudioNormalization() == 'AlbumGain') { + normalizationGain = + options.mediaSource.albumNormalizationGain + ?? options.item.NormalizationGain; + } + + if (normalizationGain) { + self.gainNode.gain.value = Math.pow(10, normalizationGain / 20); } else { self.gainNode.gain.value = 1; } - console.debug('gain:' + self.gainNode.gain.value); + console.debug('gain: ' + self.gainNode.gain.value); }).catch((err) => { console.error('Failed to add/change gainNode', err); });