Skip to content

Commit 6a8f21e

Browse files
authoredAug 18, 2024··
Fix safari volume being reset when track changed (#5923)
1 parent 90236c2 commit 6a8f21e

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed
 

‎src/plugins/htmlAudioPlayer/plugin.js

+7-3
Original file line numberDiff line numberDiff line change
@@ -124,13 +124,17 @@ class HtmlAudioPlayer {
124124
}
125125

126126
if (normalizationGain) {
127-
self.gainNode.gain.value = Math.pow(10, normalizationGain / 20);
128-
self.normalizationGain = self.gainNode.gain.value;
127+
self.normalizationGain = Math.pow(10, normalizationGain / 20);
128+
self.gainNode.gain.value = self.normalizationGain;
129129
} else {
130130
self.gainNode.gain.value = 1;
131131
self.normalizationGain = 1;
132132
}
133-
console.debug('gain: ' + self.gainNode.gain.value);
133+
if (browser.safari) {
134+
// Gain value is absolute in Safari. Add volume from the slider
135+
self.gainNode.gain.value *= elem.volume;
136+
}
137+
console.debug('gain: ' + self.normalizationGain);
134138
}).catch((err) => {
135139
console.error('Failed to add/change gainNode', err);
136140
});

0 commit comments

Comments
 (0)
Please sign in to comment.