Implement dynamic mute/unmute functionality based on slideshow state

This commit is contained in:
CodeDevMLH
2026-02-14 16:40:40 +01:00
parent 9a6997f1da
commit 5dcb60487e

View File

@@ -1722,6 +1722,13 @@ const SlideCreator = {
event.target._endTime = playerVars.end || undefined;
event.target._videoId = videoId;
if (STATE.slideshow.isMuted) {
event.target.mute();
} else {
event.target.unMute();
event.target.setVolume(40);
}
if (typeof event.target.setPlaybackQuality === 'function') {
event.target.setPlaybackQuality(quality);
}
@@ -1731,14 +1738,6 @@ const SlideCreator = {
const isVideoPlayerOpen = document.querySelector('.videoPlayerContainer') || document.querySelector('.youtubePlayerContainer');
if (slide && slide.classList.contains('active') && !document.hidden && (!isVideoPlayerOpen || isVideoPlayerOpen.classList.contains('hide'))) {
// Set mute state only for active slide
if (STATE.slideshow.isMuted) {
event.target.mute();
} else {
event.target.unMute();
event.target.setVolume(40);
}
event.target.playVideo();
// Check if it actually started playing after a short delay (handling autoplay blocks)
@@ -1768,8 +1767,6 @@ const SlideCreator = {
if (CONFIG.waitForTrailerToEnd && STATE.slideshow.slideInterval) {
STATE.slideshow.slideInterval.stop();
}
} else {
event.target.mute();
}
},
'onStateChange': (event) => {