Updated receiver to work more properly with the current player, and added a picture

This commit is contained in:
Kasper Rynning-Tønnesen
2016-11-18 15:07:58 +01:00
parent 8854f1d687
commit 071744440d
11 changed files with 279 additions and 92 deletions

View File

@@ -48,9 +48,9 @@ var Hostcontroller = {
window.history.pushState("object or string", "Title", "/"+chan.toLowerCase());
}else if(arr.type == "pause")
Player.player.pauseVideo();
Player.pauseVideo();
else if(arr.type == "play")
Player.player.playVideo();
Player.playVideo();
else if(arr.type == "skip")
List.skip();
}

View File

@@ -250,10 +250,13 @@ initializeCastApi = function() {
switch (event.sessionState) {
case cast.framework.SessionState.SESSION_STARTED:
castSession = cast.framework.CastContext.getInstance().getCurrentSession();
castSession.addMessageListner("urn:x-cast:zoff.no", chromecastListener)
window.castSession = cast.framework.CastContext.getInstance().getCurrentSession();
chromecastAvailable = true;
//castSession.sendMessage("urn:x-cast:zoff.no", {type: "loadVideo", videoId: video_id})
//cast.framework.CastSession(castSession);
castSession.sendMessage("urn:x-cast:zoff.no", {type: "loadVideo", videoId: video_id, seekTo: Player.player.getCurrentTime()})
hide_native(1);
$(".castButton").toggleClass("hide");
$(".castButton-active").toggleClass("hide");
break;
@@ -265,12 +268,48 @@ initializeCastApi = function() {
chromecastAvailable = false;
$(".castButton").toggleClass("hide");
$(".castButton-active").toggleClass("hide");
hide_native(0);
// Update locally as necessary
break;
}
});
};
window.hide_native = hide_native;
function hide_native(way){
if(way == 1){
$("#controls").toggleClass("hide");
Player.player.stopVideo();
Player.stopInterval = true;
$("#player").toggleClass("hide");
$("#player_overlay").toggleClass("hide");
//$("#player_overlay").css("display", "block");
$("#player_overlay").css("height", "100%");
$("#player_overlay_text").toggleClass("hide");
$("#player_overlay_controls").css("display", "inherit");
} else if(way == 0){
$("#controls").toggleClass("hide");
Player.player.playVideo();
Player.stopInterval = false;
Player.durationSetter();
$("#player").toggleClass("hide");
$("#player_overlay").toggleClass("hide");
$("#player_overlay").css("height", "100%");
$("#player_overlay_text").toggleClass("hide");
$("#player_overlay_controls").css("display", "none");
socket.emit('pos', {channel: chan.toLowerCase()});
}
}
function chromecastListener(event){
switch(event.data.type){
case -1:
socket.emit("end", {id: event.data.videoId, channel: chan.toLowerCase()});
break;
}
}
function setup_no_connection_listener(){
socket.on('connect_failed', function(){
Helper.log('Connection Failed');
@@ -404,6 +443,18 @@ $(document).keyup(function(e) {
}
});
$(document).on("click", "#playpause-overlay", function(){
if($("#play-overlay").hasClass("hide")){
Player.pauseVideo();
$("#play-overlay").toggleClass("hide");
$("#pause-overlay").toggleClass("hide");
} else if($("#pause-overlay").hasClass("hide")){
Player.playVideo();
$("#play-overlay").toggleClass("hide");
$("#pause-overlay").toggleClass("hide");
}
});
$(document).on("click", ".castButton-active", function(e){
e.preventDefault();
var castSession = cast.framework.CastContext.getInstance().getCurrentSession();
@@ -529,7 +580,7 @@ $(document).on("change", 'input[class=conf]', function()
});
$("#clickme").click(function(){
Player.player.playVideo();
Player.playVideo();
});
$(document).on("click", "#listExport", function(e){

View File

@@ -25,9 +25,9 @@ var Player = {
document.getElementById('song-title').innerHTML = "Empty channel. Add some songs!";
$("#player_overlay").height($("#player").height());
if(!window.MSStream) $("#player_overlay").toggleClass("hide");
if(!window.MSStream && !chromecastAvailable) $("#player_overlay").toggleClass("hide");
try{
Player.player.stopVideo();
Player.stopVideo();
}catch(e){}
//List.importOldList(channel.toLowerCase());
} else if(paused){
@@ -35,7 +35,7 @@ var Player = {
Player.getTitle(obj.np[0].title, viewers);
//Player.setBGimage(video_id);
Player.notifyUser(obj.np[0].id, obj.np[0].title);
Player.player.stopVideo();
Player.stopVideo();
}else if(!paused){
//Helper.log("gotten new song");
if(previous_video_id === undefined)
@@ -69,20 +69,20 @@ var Player = {
try{
if(Player.player.getVideoUrl().split('v=')[1] != video_id)
{
Player.player.loadVideoById(video_id);
Player.loadVideoById(video_id);
Player.notifyUser(video_id, song_title);
Player.player.seekTo(seekTo);
Player.seekTo(seekTo);
if(paused)
Player.player.pauseVideo();
Player.pauseVideo();
}
if(!paused){
if(!mobile_beginning)
Player.player.playVideo();
Player.playVideo();
if(!durationBegun)
Player.durationSetter();
}
if(Player.player.getDuration() > seekTo || Player.player.getDuration() === 0)
Player.player.seekTo(seekTo);
if(Player.player.getDuration() > seekTo || Player.player.getDuration() === 0 || chromecastAvailable)
Player.seekTo(seekTo);
Player.after_load = video_id;
if(!Player.loaded) setTimeout(function(){Player.loaded = true;},500);
@@ -113,17 +113,17 @@ var Player = {
case 0:
playing = false;
paused = false;
socket.emit("end", {id: video_id, channel: chan.toLowerCase()});
socket.emit("end", {id: video_id, channel: chan.toLowerCase()});
break;
case 1:
playing = true;
if(beginning && Helper.mobilecheck()){
Player.player.pauseVideo();
Player.pauseVideo();
beginning = false;
mobile_beginning = false;
}
if(!embed && window.location.pathname != "/") Helper.addClass("#player_overlay", "hide");
if(!embed && window.location.pathname != "/" && chromecastAvailable) Helper.addClass("#player_overlay", "hide");
if(window.location.pathname != "/"){
if(document.getElementById("play").className.split(" ").length == 1)
$("#play").toggleClass("hide");
@@ -152,6 +152,46 @@ var Player = {
}
},
playVideo: function(){
if(chromecastAvailable){
castSession.sendMessage("urn:x-cast:zoff.no", {type: "playVideo"});
} else {
Player.player.playVideo();
}
},
pauseVideo: function(){
if(chromecastAvailable){
castSession.sendMessage("urn:x-cast:zoff.no", {type: "pauseVideo"});
} else {
Player.player.pauseVideo();
}
},
seekTo: function(_seekTo){
if(chromecastAvailable){
castSession.sendMessage("urn:x-cast:zoff.no", {type: "seekTo", seekTo: _seekTo});
} else {
Player.player.seekTo(_seekTo);
}
},
loadVideoById: function(id){
if(chromecastAvailable){
castSession.sendMessage("urn:x-cast:zoff.no", {type: "loadVideoById", videoId: id});
} else {
Player.player.loadVideoById(id);
}
},
stopVideo: function(){
if(chromecastAvailable){
castSession.sendMessage("urn:x-cast:zoff.no", {type: "stopVideo"});
} else {
Player.player.stopVideo();
}
},
getTitle: function(titt, v)
{
@@ -188,12 +228,12 @@ var Player = {
/*}else{
setTimeout(function(){
Player.player.loadVideoById(video_id);
Player.loadVideoById(video_id);
Player.count ++;
}, Math.floor((Math.random() * 100) + 1));
}*/
}else if(video_id !== undefined)
Player.player.loadVideoById(video_id);
Player.loadVideoById(video_id);
},
onPlayerReady: function(event) {
@@ -206,21 +246,21 @@ var Player = {
$("#player").css("opacity", "1");
$("#controls").css("opacity", "1");
$(".playlist").css("opacity", "1");
Player.player.loadVideoById(video_id);
Player.loadVideoById(video_id);
if(autoplay && !Helper.mobilecheck())
Player.player.playVideo();
Player.playVideo();
if(!durationBegun)
Player.durationSetter();
if(embed){
setTimeout(function(){
Player.player.seekTo(seekTo);
Player.seekTo(seekTo);
if(!autoplay){
Player.player.pauseVideo();
Player.pauseVideo();
Playercontrols.play_pause_show();
}
}, 1000);
}else
Player.player.seekTo(seekTo);
Player.seekTo(seekTo);
}
Player.readyLooks();
Playercontrols.initYoutubeControls(Player.player);

View File

@@ -14,6 +14,8 @@ var Playercontrols = {
{
document.getElementById("volume-button").addEventListener("click", Playercontrols.mute_video);
document.getElementById("playpause").addEventListener("click", Playercontrols.play_pause);
document.getElementById("volume-button-overlay").addEventListener("click", Playercontrols.mute_video);
document.getElementById("playpause-overlay").addEventListener("click", Playercontrols.play_pause);
document.getElementById("fullscreen").addEventListener("click", Playercontrols.fullscreen);
},
@@ -54,7 +56,7 @@ var Playercontrols = {
if(Player.player.getPlayerState() == 1)
{
Player.player.pauseVideo();
Player.pauseVideo();
if(Helper.mobilecheck() && !/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream){
document.getElementById("player").style.display = "none";
$(".video-container").toggleClass("click-through");
@@ -62,7 +64,7 @@ var Playercontrols = {
}
} else if(Player.player.getPlayerState() == 2 || Player.player.getPlayerState() === 0)
{
Player.player.playVideo();
Player.playVideo();
if(Helper.mobilecheck() && !/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream){
document.getElementById("player").style.display = "block";
$(".video-container").toggleClass("click-through");
@@ -73,10 +75,14 @@ var Playercontrols = {
play_pause_show: function()
{
if(document.getElementById("pause").className.split(" ").length == 1)
if(document.getElementById("pause").className.split(" ").length == 1){
$("#pause").toggleClass("hide");
if(document.getElementById("play").className.split(" ").length == 2)
$("#pause-overlay").toggleClass("hide");
}
if(document.getElementById("play").className.split(" ").length == 2){
$("#play").toggleClass("hide");
$("#play-overlay").toggleClass("hide");
}
},
settings: function()
@@ -119,43 +125,75 @@ var Playercontrols = {
{
if(!mute){
if(vol >= 0 && vol <= 33){
if(document.getElementById("v-full").className.split(" ").length == 1)
if(document.getElementById("v-full").className.split(" ").length == 1){
$("#v-full").toggleClass("hide");
if(document.getElementById("v-medium").className.split(" ").length == 1)
$("#v-full-overlay").toggleClass("hide");
}
if(document.getElementById("v-medium").className.split(" ").length == 1){
$("#v-medium").toggleClass("hide");
if(document.getElementById("v-low").className.split(" ").length == 2)
$("#v-medium-overlay").toggleClass("hide");
}
if(document.getElementById("v-low").className.split(" ").length == 2){
$("#v-low").toggleClass("hide");
if(document.getElementById("v-mute").className.split(" ").length == 1)
$("#v-low-overlay").toggleClass("hide");
}
if(document.getElementById("v-mute").className.split(" ").length == 1){
$("#v-mute").toggleClass("hide");
$("#v-mute-overlay").toggleClass("hide");
}
}else if(vol >= 34 && vol <= 66){
if(document.getElementById("v-full").className.split(" ").length == 1)
if(document.getElementById("v-full").className.split(" ").length == 1){
$("#v-full").toggleClass("hide");
if(document.getElementById("v-medium").className.split(" ").length == 2)
$("#v-full-overlay").toggleClass("hide");
}
if(document.getElementById("v-medium").className.split(" ").length == 2){
$("#v-medium").toggleClass("hide");
if(document.getElementById("v-low").className.split(" ").length == 1)
$("#v-medium-overlay").toggleClass("hide");
}
if(document.getElementById("v-low").className.split(" ").length == 1){
$("#v-low").toggleClass("hide");
if(document.getElementById("v-mute").className.split(" ").length == 1)
$("#v-low-overlay").toggleClass("hide");
}
if(document.getElementById("v-mute").className.split(" ").length == 1){
$("#v-mute").toggleClass("hide");
$("#v-mute-overlay").toggleClass("hide");
}
}else if(vol >= 67 && vol <= 100){
if(document.getElementById("v-full").className.split(" ").length == 2)
if(document.getElementById("v-full").className.split(" ").length == 2){
$("#v-full").toggleClass("hide");
if(document.getElementById("v-medium").className.split(" ").length == 1)
$("#v-full-overlay").toggleClass("hide");
}
if(document.getElementById("v-medium").className.split(" ").length == 1){
$("#v-medium").toggleClass("hide");
if(document.getElementById("v-low").className.split(" ").length == 1)
$("#v-medium-overlay").toggleClass("hide");
}
if(document.getElementById("v-low").className.split(" ").length == 1){
$("#v-low").toggleClass("hide");
if(document.getElementById("v-mute").className.split(" ").length == 1)
$("#v-low-overlay").toggleClass("hide");
}
if(document.getElementById("v-mute").className.split(" ").length == 1){
$("#v-mute").toggleClass("hide");
$("#v-mute-overlay").toggleClass("hide");
}
}
}else
{
if(document.getElementById("v-full").className.split(" ").length == 1)
if(document.getElementById("v-full").className.split(" ").length == 1){
$("#v-full").toggleClass("hide");
if(document.getElementById("v-medium").className.split(" ").length == 1)
$("#v-full-overlay").toggleClass("hide");
}
if(document.getElementById("v-medium").className.split(" ").length == 1){
$("#v-medium").toggleClass("hide");
if(document.getElementById("v-low").className.split(" ").length == 1)
$("#v-medium-overlay").toggleClass("hide");
}
if(document.getElementById("v-low").className.split(" ").length == 1){
$("#v-low").toggleClass("hide");
if(document.getElementById("v-mute").className.split(" ").length == 2)
$("#v-low-overlay").toggleClass("hide");
}
if(document.getElementById("v-mute").className.split(" ").length == 2){
$("#v-mute").toggleClass("hide");
$("#v-mute-overlay").toggleClass("hide");
}
}
},
@@ -165,26 +203,28 @@ var Playercontrols = {
button = document.getElementById("playpause");
if(state == 1)
{
Player.player.pauseVideo();
Player.pauseVideo();
}else if(state == 2)
{
Player.player.playVideo();
Player.playVideo();
}
},
volumeOptions: function()
{
if(Player.player.isMuted())
{
Player.player.unMute();
vol = Player.player.getVolume();
$("#volume").slider("value", Player.player.getVolume());
}
else
{
Player.player.mute();
$("#volume").slider("value", 0);
}
if(!chromecastAvailable){
if(Player.player.isMuted())
{
Player.player.unMute();
vol = Player.player.getVolume();
$("#volume").slider("value", Player.player.getVolume());
}
else
{
Player.player.mute();
$("#volume").slider("value", 0);
}
}
},
hoverMute: function(foo)