Implement dynamic mute/unmute functionality based on slideshow state
This commit is contained in:
@@ -1722,6 +1722,13 @@ const SlideCreator = {
|
|||||||
event.target._endTime = playerVars.end || undefined;
|
event.target._endTime = playerVars.end || undefined;
|
||||||
event.target._videoId = videoId;
|
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') {
|
if (typeof event.target.setPlaybackQuality === 'function') {
|
||||||
event.target.setPlaybackQuality(quality);
|
event.target.setPlaybackQuality(quality);
|
||||||
}
|
}
|
||||||
@@ -1731,14 +1738,6 @@ const SlideCreator = {
|
|||||||
const isVideoPlayerOpen = document.querySelector('.videoPlayerContainer') || document.querySelector('.youtubePlayerContainer');
|
const isVideoPlayerOpen = document.querySelector('.videoPlayerContainer') || document.querySelector('.youtubePlayerContainer');
|
||||||
|
|
||||||
if (slide && slide.classList.contains('active') && !document.hidden && (!isVideoPlayerOpen || isVideoPlayerOpen.classList.contains('hide'))) {
|
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();
|
event.target.playVideo();
|
||||||
|
|
||||||
// Check if it actually started playing after a short delay (handling autoplay blocks)
|
// 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) {
|
if (CONFIG.waitForTrailerToEnd && STATE.slideshow.slideInterval) {
|
||||||
STATE.slideshow.slideInterval.stop();
|
STATE.slideshow.slideInterval.stop();
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
event.target.mute();
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'onStateChange': (event) => {
|
'onStateChange': (event) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user