From: soufiane Date: Fri, 9 Jan 2026 16:53:23 +0000 (+0100) Subject: wait #7885 @21:00 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=129eb977b65f71de8c90cae1623254641785dffc;p=fluidbook-html5.git wait #7885 @21:00 --- diff --git a/js/libs/fluidbook/fluidbook.video.js b/js/libs/fluidbook/fluidbook.video.js index 7b1e9673..7d3a56df 100644 --- a/js/libs/fluidbook/fluidbook.video.js +++ b/js/libs/fluidbook/fluidbook.video.js @@ -272,10 +272,6 @@ FluidbookVideo.prototype = { } } - // Fake audio track to force tracklist display - const mainTrack = new videojs.AudioTrack({}); - player.audioTracks().addTrack(mainTrack); - function addAudioTracks() { var audioTrackHtml = '
'; @@ -304,15 +300,17 @@ FluidbookVideo.prototype = { } function syncAudioAndVideo(audioTrackList) { - var track = audioTrackList.tracks_.filter((n) => { return n.enabled; })[0]; + var enabledTrack = audioTrackList.tracks_.filter((n) => { return n.enabled; })[0]; - if (track) { - $("audio#" + track.id)[0].currentTime = player.currentTime(); + if (enabledTrack) { + $("audio#" + enabledTrack.id)[0].currentTime = player.currentTime(); } } function resetAudios(track) { - if(track) { + for (var i = 0; i < audioTrackList.length; i++) { + var track = audioTrackList[i]; + $("audio#" + track.id)[0].pause(); $("audio#" + track.id)[0].currentTime = 0; } } @@ -431,12 +429,16 @@ FluidbookVideo.prototype = { } }); - player.on('play', function () { $.each(hidelinksonplay, function (k, id) { $this.fluidbook.links.hideLinkById(id); }); + var enabledTrack = getEnabledTrack(audioTrackList) + console.log("enabledTrack",enabledTrack) + if(enabledTrack) { + $("audio#" + enabledTrack.id)[0].play(); + } syncAudioAndVideo(audioTrackList) $this.fluidbook.sound.pauseAmbientIfSomethingIsPlaying(); @@ -450,15 +452,11 @@ FluidbookVideo.prototype = { // Now the issue is that we need to hide it again if we start playing // So every time we do this, we can create a one-time listener for play events. - let enabledTrack = getEnabledTrack(audioTrackList) player.one('play', function () { this.bigPlayButton.hide(); - if(enabledTrack) { - $("audio#" + enabledTrack.id)[0].play(); - syncAudioAndVideo(audioTrackList) - } }); + let enabledTrack = getEnabledTrack(audioTrackList) if(enabledTrack) { syncAudioAndVideo(audioTrackList) $("audio#" + enabledTrack.id)[0].pause(); @@ -475,18 +473,19 @@ FluidbookVideo.prototype = { audioTrackList.addEventListener('change', function() { player.muted(1) - // Log the currently enabled AudioTrack label. - for (var i = 0; i < audioTrackList.length; i++) { - var track = audioTrackList[i]; + resetAudios() - resetAudios(track) + var track = getEnabledTrack(audioTrackList); - if (track.enabled) { - $("audio#"+track.id)[0].play() - $("audio#"+track.id)[0].currentTime = player.currentTime() - return; - } + console.log("player.paused()",player.paused()) + + if(track && !player.paused()) { + $("audio#"+track.id)[0].play() + syncAudioAndVideo(audioTrackList) + console.log("audioTrackList",audioTrackList) + return; } + }); player.on('fullscreenchange', function () { @@ -502,7 +501,9 @@ FluidbookVideo.prototype = { syncAudioAndVideo(audioTrackList) var enabledTrack = getEnabledTrack(audioTrackList); if(enabledTrack) { - $("audio#" + enabledTrack.id)[0].ended() + enabledTrack.enabled = false + $("audio#" + enabledTrack.id)[0].pause() + $("audio#" + enabledTrack.id)[0].currentTime = 0 } });