Merge pull request #302 from zoff-music/fix/pause-change

Fixed issue with player start playing when paused
This commit is contained in:
Kasper Rynning-Tønnesen
2018-02-09 11:12:23 +01:00
committed by GitHub
2 changed files with 40 additions and 25 deletions

View File

@@ -10,6 +10,7 @@ var conf = [];
var private_channel = false; var private_channel = false;
var end_programmatically = false; var end_programmatically = false;
var music = 0; var music = 0;
var was_stopped = false;
var timed_remove_check; var timed_remove_check;
var slider_type = "horizontal"; var slider_type = "horizontal";
var programscroll = false; var programscroll = false;

View File

@@ -134,38 +134,51 @@ var Player = {
if(player_ready && !window.MSStream) { if(player_ready && !window.MSStream) {
try { try {
var compared; var compared;
var prev_state = state;
try { try {
compared = Player.player.getVideoUrl().split('v=')[1] != video_id && state != 2; compared = Player.player.getVideoUrl().split('v=')[1] != video_id;
} catch(e) { } catch(e) {
compared = true; compared = true;
} }
if(prev_state == 2 && !chromecastAvailable) {
if(compared || chromecastAvailable){ console.log("pausing");
Player.stopVideo();
Player.loadVideoById(video_id, duration); was_stopped = true;
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(!durationBegun) { if(!durationBegun) {
Player.durationSetter(); Player.durationSetter();
} }
} } else {
if(Player.player.getDuration() > seekTo || Player.player.getDuration() === 0 || chromecastAvailable || Player.player.getCurrentTime() != seekTo) { if(compared || chromecastAvailable){
Player.seekTo(seekTo);
}
Player.after_load = video_id;
if(!Player.loaded) { Player.loadVideoById(video_id, duration);
setTimeout(function(){Player.loaded = true;},500); 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) { }catch(e) {
if(chromecastAvailable) { if(chromecastAvailable) {
@@ -241,9 +254,10 @@ var Player = {
if(document.getElementById("pause").className.split(" ").length == 2) if(document.getElementById("pause").className.split(" ").length == 2)
$("#pause").toggleClass("hide"); $("#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()))}); socket.emit('pos', {channel: chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
paused = false; paused = false;
was_stopped = false;
} }
break; break;
case YT.PlayerState.PAUSED: case YT.PlayerState.PAUSED: