diff --git a/server/public/assets/js/listeners.js b/server/public/assets/js/listeners.js index 5125c61e..f1c56bfd 100755 --- a/server/public/assets/js/listeners.js +++ b/server/public/assets/js/listeners.js @@ -10,6 +10,7 @@ var conf = []; var private_channel = false; var end_programmatically = false; var music = 0; +var was_stopped = false; var timed_remove_check; var slider_type = "horizontal"; var programscroll = false; diff --git a/server/public/assets/js/player.js b/server/public/assets/js/player.js index bc2d198f..ee61e9a1 100755 --- a/server/public/assets/js/player.js +++ b/server/public/assets/js/player.js @@ -134,38 +134,51 @@ var Player = { if(player_ready && !window.MSStream) { try { var compared; + var prev_state = state; try { - compared = Player.player.getVideoUrl().split('v=')[1] != video_id && state != 2; + compared = Player.player.getVideoUrl().split('v=')[1] != video_id; } catch(e) { compared = true; } - - if(compared || chromecastAvailable){ - - Player.loadVideoById(video_id, duration); - if(!Helper.mobilecheck()) { - Player.notifyUser(video_id, song_title); - } - Player.seekTo(seekTo); - if(paused && !chromecastAvailable){ - Player.pauseVideo(); - } - } - if(!paused){ - if(!mobile_beginning || chromecastAvailable) { - Player.playVideo(); - } + if(prev_state == 2 && !chromecastAvailable) { + console.log("pausing"); + Player.stopVideo(); + was_stopped = true; if(!durationBegun) { Player.durationSetter(); } - } - if(Player.player.getDuration() > seekTo || Player.player.getDuration() === 0 || chromecastAvailable || Player.player.getCurrentTime() != seekTo) { - Player.seekTo(seekTo); - } - Player.after_load = video_id; + } else { + if(compared || chromecastAvailable){ - if(!Player.loaded) { - setTimeout(function(){Player.loaded = true;},500); + Player.loadVideoById(video_id, duration); + if(!Helper.mobilecheck()) { + Player.notifyUser(video_id, song_title); + } + Player.seekTo(seekTo); + if(paused && !chromecastAvailable){ + Player.pauseVideo(); + } + } + if(!paused){ + if((!mobile_beginning || chromecastAvailable) && prev_state != 2) { + console.log("playing"); + Player.playVideo(); + } + if(!durationBegun) { + Player.durationSetter(); + } + } + + console.log(prev_state, chromecastAvailable); + + if(Player.player.getDuration() > seekTo || Player.player.getDuration() === 0 || chromecastAvailable || Player.player.getCurrentTime() != seekTo) { + Player.seekTo(seekTo); + } + Player.after_load = video_id; + + if(!Player.loaded) { + setTimeout(function(){Player.loaded = true;},500); + } } }catch(e) { if(chromecastAvailable) { @@ -241,9 +254,10 @@ var Player = { if(document.getElementById("pause").className.split(" ").length == 2) $("#pause").toggleClass("hide"); } - if(paused && !offline) { + if((paused && !offline) || was_stopped) { socket.emit('pos', {channel: chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))}); paused = false; + was_stopped = false; } break; case YT.PlayerState.PAUSED: