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,12 +134,20 @@ 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) {
console.log("pausing");
Player.stopVideo();
was_stopped = true;
if(!durationBegun) {
Player.durationSetter();
}
} else {
if(compared || chromecastAvailable){ if(compared || chromecastAvailable){
Player.loadVideoById(video_id, duration); Player.loadVideoById(video_id, duration);
@@ -152,13 +160,17 @@ var Player = {
} }
} }
if(!paused){ if(!paused){
if(!mobile_beginning || chromecastAvailable) { if((!mobile_beginning || chromecastAvailable) && prev_state != 2) {
console.log("playing");
Player.playVideo(); Player.playVideo();
} }
if(!durationBegun) { if(!durationBegun) {
Player.durationSetter(); Player.durationSetter();
} }
} }
console.log(prev_state, chromecastAvailable);
if(Player.player.getDuration() > seekTo || Player.player.getDuration() === 0 || chromecastAvailable || Player.player.getCurrentTime() != seekTo) { if(Player.player.getDuration() > seekTo || Player.player.getDuration() === 0 || chromecastAvailable || Player.player.getCurrentTime() != seekTo) {
Player.seekTo(seekTo); Player.seekTo(seekTo);
} }
@@ -167,6 +179,7 @@ var Player = {
if(!Player.loaded) { if(!Player.loaded) {
setTimeout(function(){Player.loaded = true;},500); setTimeout(function(){Player.loaded = true;},500);
} }
}
}catch(e) { }catch(e) {
if(chromecastAvailable) { if(chromecastAvailable) {
Player.loadVideoById(video_id, duration); Player.loadVideoById(video_id, duration);
@@ -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: