Fixed duration setter

This commit is contained in:
Kasper Rynning-Tønnesen
2016-01-23 15:20:50 +01:00
parent e72b4f1d27
commit b735b085a2
4 changed files with 73 additions and 76 deletions

File diff suppressed because one or more lines are too long

View File

@@ -223,7 +223,7 @@ $('input[class=conf]').change(function()
}); });
$("#clickme").click(function(){ $("#clickme").click(function(){
ytplayer.playVideo(); Youtube.ytplayer.playVideo();
}); });
$('#listImport').on("submit", function(){ $('#listImport').on("submit", function(){
@@ -365,13 +365,15 @@ function onepage_load(){
$("#channel-load").css("display", "block"); $("#channel-load").css("display", "block");
window.scrollTo(0, 0); window.scrollTo(0, 0);
Playercontrols.stopInterval = true;
var url_split = window.location.href.split("/"); var url_split = window.location.href.split("/");
if(url_split[3] == "" || url_split[3].substring(0,1) == "#"){ if(url_split[3] == "" || url_split[3].substring(0,1) == "#"){
$.ajax({ $.ajax({
url: "php/nochan_content.php", url: "php/nochan_content.php",
success: function(e){ success: function(e){
ytplayer.destroy(); Youtube.ytplayer.destroy();
Playercontrols.clearDurationInterval();
socket.disconnect(); socket.disconnect();
@@ -379,7 +381,6 @@ function onepage_load(){
document.getElementById("playpause").removeEventListener("click", Playercontrols.play_pause); document.getElementById("playpause").removeEventListener("click", Playercontrols.play_pause);
document.getElementById("fullscreen").removeEventListener("click", Playercontrols.fullscreen); document.getElementById("fullscreen").removeEventListener("click", Playercontrols.fullscreen);
delete ytplayer
delete Admin delete Admin
delete Chat delete Chat
delete Crypt delete Crypt
@@ -421,7 +422,7 @@ function onepage_load(){
delete blink_interval; delete blink_interval;
delete tag; delete tag;
delete firstScriptTag; delete firstScriptTag;
delete ytplayer; delete Youtube.ytplayer;
delete title; delete title;
delete viewers; delete viewers;
delete video_id; delete video_id;

View File

@@ -1,14 +1,13 @@
var Playercontrols = { var Playercontrols = {
interval: null, stopInterval: false,
initYoutubeControls: function(player) initYoutubeControls: function(player)
{ {
if(window.mobilecheck() && !/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream){ if(window.mobilecheck() && !/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream){
$("#controls").appendTo("#playbar"); $("#controls").appendTo("#playbar");
} }
Playercontrols.interval = setInterval(Playercontrols.durationSetter, 1000); Playercontrols.durationSetter();
Playercontrols.initControls();
}, },
initControls: function() initControls: function()
@@ -19,11 +18,6 @@ var Playercontrols = {
}, },
clearDurationInterval: function()
{
clearInterval(Playercontrols.interval);
},
initSlider: function() initSlider: function()
{ {
vol = (Crypt.get_volume()); vol = (Crypt.get_volume());
@@ -55,14 +49,14 @@ var Playercontrols = {
play_pause: function() play_pause: function()
{ {
if(ytplayer.getPlayerState() == 1) if(Youtube.ytplayer.getPlayerState() == 1)
{ {
ytplayer.pauseVideo(); Youtube.ytplayer.pauseVideo();
if(window.mobilecheck() && !/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) if(window.mobilecheck() && !/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream)
document.getElementById("player").style.display = "none"; document.getElementById("player").style.display = "none";
}else if(ytplayer.getPlayerState() == 2 || ytplayer.getPlayerState() == 0) }else if(Youtube.ytplayer.getPlayerState() == 2 || Youtube.ytplayer.getPlayerState() == 0)
{ {
ytplayer.playVideo(); Youtube.ytplayer.playVideo();
if(window.mobilecheck() && !/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) if(window.mobilecheck() && !/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream)
document.getElementById("player").style.display = "block"; document.getElementById("player").style.display = "block";
} }
@@ -75,33 +69,33 @@ var Playercontrols = {
changeQuality: function(wantedQ) changeQuality: function(wantedQ)
{ {
if(ytplayer.getPlaybackQuality != wantedQ) if(Youtube.ytplayer.getPlaybackQuality != wantedQ)
{ {
ytplayer.setPlaybackQuality(wantedQ); Youtube.ytplayer.setPlaybackQuality(wantedQ);
ytplayer.getPlaybackQuality(); Youtube.ytplayer.getPlaybackQuality();
} }
$("#qS").toggleClass("hide"); $("#qS").toggleClass("hide");
}, },
mute_video: function() mute_video: function()
{ {
if(!ytplayer.isMuted()) if(!Youtube.ytplayer.isMuted())
{ {
Playercontrols.choose_button(0, true); Playercontrols.choose_button(0, true);
ytplayer.mute(); Youtube.ytplayer.mute();
}else }else
{ {
ytplayer.unMute(); Youtube.ytplayer.unMute();
Playercontrols.choose_button(ytplayer.getVolume(), false); Playercontrols.choose_button(Youtube.ytplayer.getVolume(), false);
} }
}, },
setVolume: function(vol) setVolume: function(vol)
{ {
ytplayer.setVolume(vol); Youtube.ytplayer.setVolume(vol);
Playercontrols.choose_button(vol, false); Playercontrols.choose_button(vol, false);
if(ytplayer.isMuted()) if(Youtube.ytplayer.isMuted())
ytplayer.unMute(); Youtube.ytplayer.unMute();
}, },
choose_button: function(vol, mute) choose_button: function(vol, mute)
@@ -150,23 +144,24 @@ var Playercontrols = {
playPause: function() playPause: function()
{ {
state = ytplayer.getPlayerState(); state = Youtube.ytplayer.getPlayerState();
button = document.getElementById("playpause"); button = document.getElementById("playpause");
if(state == 1) if(state == 1)
{ {
ytplayer.pauseVideo(); Youtube.ytplayer.pauseVideo();
}else if(state == 2) }else if(state == 2)
{ {
ytplayer.playVideo(); Youtube.ytplayer.playVideo();
} }
}, },
durationSetter: function() durationSetter: function()
{ {
duration = ytplayer.getDuration(); duration = Youtube.ytplayer.getDuration();
if(duration != undefined){
dMinutes = Math.floor(duration / 60); dMinutes = Math.floor(duration / 60);
dSeconds = duration - dMinutes * 60; dSeconds = duration - dMinutes * 60;
currDurr = ytplayer.getCurrentTime(); currDurr = Youtube.ytplayer.getCurrentTime();
if(currDurr > duration) if(currDurr > duration)
currDurr = duration; currDurr = duration;
minutes = Math.floor(currDurr / 60); minutes = Math.floor(currDurr / 60);
@@ -178,26 +173,28 @@ var Playercontrols = {
else if(duration == 0) else if(duration == 0)
per = 0; per = 0;
$("#bar").width(per+"%"); $("#bar").width(per+"%");
}
if(!Playercontrols.stopInterval) setTimeout(Playercontrols.durationSetter, 1000);
}, },
volumeOptions: function() volumeOptions: function()
{ {
if(ytplayer.isMuted()) if(Youtube.ytplayer.isMuted())
{ {
ytplayer.unMute(); Youtube.ytplayer.unMute();
vol = ytplayer.getVolume(); vol = Youtube.ytplayer.getVolume();
$("#volume").slider("value", ytplayer.getVolume()); $("#volume").slider("value", Youtube.ytplayer.getVolume());
} }
else else
{ {
ytplayer.mute(); Youtube.ytplayer.mute();
$("#volume").slider("value", 0); $("#volume").slider("value", 0);
} }
}, },
hoverMute: function(foo) hoverMute: function(foo)
{ {
vol = ytplayer.getVolume(); vol = Youtube.ytplayer.getVolume();
} }

View File

@@ -3,13 +3,14 @@ var Youtube = {
loaded: true, loaded: true,
before_load: "", before_load: "",
after_load: "", after_load: "",
ytplayer: "",
setup_youtube_listener: function(channel) setup_youtube_listener: function(channel)
{ {
socket.on("np", function(obj) socket.on("np", function(obj)
{ {
Youtube.loaded = false; Youtube.loaded = false;
if(video_id != undefined && ytplayer !== undefined) Youtube.before_load = ytplayer.getVideoUrl(); if(video_id != undefined && Youtube.ytplayer !== undefined) Youtube.before_load = Youtube.ytplayer.getVideoUrl();
if(obj[0].length == 0){ if(obj[0].length == 0){
document.getElementById('song-title').innerHTML = "Empty channel. Add some songs!"; document.getElementById('song-title').innerHTML = "Empty channel. Add some songs!";
@@ -17,7 +18,7 @@ var Youtube = {
if(!/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) $("#player_overlay").toggleClass("hide"); if(!/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) $("#player_overlay").toggleClass("hide");
try{ try{
ytplayer.stopVideo(); Youtube.ytplayer.stopVideo();
}catch(e){} }catch(e){}
//List.importOldList(channel.toLowerCase()); //List.importOldList(channel.toLowerCase());
} }
@@ -42,18 +43,18 @@ var Youtube = {
//if(player_ready && !window.mobilecheck()) //if(player_ready && !window.mobilecheck())
if(player_ready && !/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) if(player_ready && !/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream)
{ {
if(ytplayer.getVideoUrl().split('v=')[1] != video_id) if(Youtube.ytplayer.getVideoUrl().split('v=')[1] != video_id)
{ {
ytplayer.loadVideoById(video_id); Youtube.ytplayer.loadVideoById(video_id);
Youtube.notifyUser(video_id, song_title); Youtube.notifyUser(video_id, song_title);
ytplayer.seekTo(seekTo); Youtube.ytplayer.seekTo(seekTo);
if(paused) if(paused)
ytplayer.pauseVideo(); Youtube.ytplayer.pauseVideo();
} }
if(!paused) if(!paused)
ytplayer.playVideo(); Youtube.ytplayer.playVideo();
if(ytplayer.getDuration() > seekTo || ytplayer.getDuration() == 0) if(Youtube.ytplayer.getDuration() > seekTo || Youtube.ytplayer.getDuration() == 0)
ytplayer.seekTo(seekTo); Youtube.ytplayer.seekTo(seekTo);
Youtube.after_load = video_id; Youtube.after_load = video_id;
setTimeout(function(){Youtube.loaded = true;},500); setTimeout(function(){Youtube.loaded = true;},500);
} }
@@ -85,7 +86,7 @@ var Youtube = {
case 1: case 1:
playing = true; playing = true;
if(beginning && window.mobilecheck()){ if(beginning && window.mobilecheck()){
ytplayer.pauseVideo(); Youtube.ytplayer.pauseVideo();
beginning = false; beginning = false;
} }
if(document.getElementById("play").className.split(" ").length == 1) if(document.getElementById("play").className.split(" ").length == 1)
@@ -135,21 +136,21 @@ var Youtube = {
/*console.log("Before: " + Youtube.before_load); /*console.log("Before: " + Youtube.before_load);
console.log("Now: " + video_id); console.log("Now: " + video_id);
console.log("After: " + Youtube.after_load); console.log("After: " + Youtube.after_load);
console.log(Youtube.before_load == ytplayer.getVideoUrl);*/ console.log(Youtube.before_load == Youtube.ytplayer.getVideoUrl);*/
curr_playing = ytplayer.getVideoUrl().replace("https://www.youtube.com/watch?v=", ""); curr_playing = Youtube.ytplayer.getVideoUrl().replace("https://www.youtube.com/watch?v=", "");
socket.emit("skip", {error: newState.data, id: video_id, pass: adminpass}); socket.emit("skip", {error: newState.data, id: video_id, pass: adminpass});
//console.log(video_id, ytplayer.getVideoUrl(), ytplayer.getPlayerState()); //console.log(video_id, Youtube.ytplayer.getVideoUrl(), Youtube.ytplayer.getPlayerState());
/*}else{ /*}else{
setTimeout(function(){ setTimeout(function(){
ytplayer.loadVideoById(video_id); Youtube.ytplayer.loadVideoById(video_id);
Youtube.count ++; Youtube.count ++;
}, Math.floor((Math.random() * 100) + 1)); }, Math.floor((Math.random() * 100) + 1));
}*/ }*/
}else if(video_id !== undefined) }else if(video_id !== undefined)
ytplayer.loadVideoById(video_id); Youtube.ytplayer.loadVideoById(video_id);
}, },
onPlayerReady: function(event) { onPlayerReady: function(event) {
@@ -160,14 +161,14 @@ var Youtube = {
$("#player").css("opacity", "1"); $("#player").css("opacity", "1");
$("#controls").css("opacity", "1"); $("#controls").css("opacity", "1");
$(".playlist").css("opacity", "1"); $(".playlist").css("opacity", "1");
ytplayer.loadVideoById(video_id); Youtube.ytplayer.loadVideoById(video_id);
ytplayer.playVideo(); Youtube.ytplayer.playVideo();
ytplayer.seekTo(seekTo); Youtube.ytplayer.seekTo(seekTo);
} }
Youtube.readyLooks(); Youtube.readyLooks();
Playercontrols.initYoutubeControls(ytplayer); Playercontrols.initYoutubeControls(Youtube.ytplayer);
Playercontrols.initSlider(); Playercontrols.initSlider();
ytplayer.setVolume(Crypt.get_volume()); Youtube.ytplayer.setVolume(Crypt.get_volume());
}, },
readyLooks: function() readyLooks: function()
@@ -223,7 +224,7 @@ var Youtube = {
}, },
onYouTubeIframeAPIReady: function() { onYouTubeIframeAPIReady: function() {
ytplayer = new YT.Player('player', { Youtube.ytplayer = new YT.Player('player', {
videoId: "asd", videoId: "asd",
playerVars: { rel:"0", wmode:"transparent", controls: "0" , iv_load_policy: "3", theme:"light", color:"white"}, playerVars: { rel:"0", wmode:"transparent", controls: "0" , iv_load_policy: "3", theme:"light", color:"white"},
events: { events: {
@@ -235,9 +236,7 @@ var Youtube = {
}, },
loadPlayer: function() { loadPlayer: function() {
console.log($("script[src='https://www.youtube.com/iframe_api']")["length"]);
if($("script[src='https://www.youtube.com/iframe_api']")["length"] == 1){ if($("script[src='https://www.youtube.com/iframe_api']")["length"] == 1){
console.log("script exists");
Youtube.onYouTubeIframeAPIReady(); Youtube.onYouTubeIframeAPIReady();
}else{ }else{
tag = document.createElement('script'); tag = document.createElement('script');