From 6295e53f95118aea8b6814932c06d318c0a65e82 Mon Sep 17 00:00:00 2001 From: "M. Voerman" Date: Wed, 17 Jul 2013 02:23:22 +0200 Subject: Pause Live TV on server. OSD Time out can be set from settings --- index.html | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- lang_dut.js | 2 +- settings.js | 18 +++++++++++------- 3 files changed, 58 insertions(+), 10 deletions(-) diff --git a/index.html b/index.html index 3825c5f..11a6645 100644 --- a/index.html +++ b/index.html @@ -804,6 +804,23 @@ function onKeyDown(event) { mediaPlayer.play(mediaPlayer.PACE_FASTFORWARD); break; case "MediaPlayPause": + + if(isFullscreen && PauseOnServer) { + if(mediaPlayer.getState() == mediaPlayer.STATE_PLAYING) { + ServerPause(); + SetLed(1,1,10); + setTimeout("mediaPlayer.play(0);",5000); + break; + } + if(mediaPlayer.getState() == mediaPlayer.STATE_PAUSED || mediaPlayer.getState() == mediaPlayer.STATE_FASTFORWARDING || + mediaPlayer.getState() == mediaPlayer.STATE_REWINDING) { + SetLed(1,1,0); + mediaPlayer.play(mediaPlayer.PACE_PLAY); + break; + } + + } + if(TimeShift){ if(mediaPlayer.getState() == mediaPlayer.STATE_PAUSED || mediaPlayer.getState() == mediaPlayer.STATE_FASTFORWARDING || mediaPlayer.getState() == mediaPlayer.STATE_REWINDING) { SetLed(1,1,0); @@ -932,7 +949,7 @@ function showOSD() { SetOsdInfo(); opacity = 1; OSD(opacity); - osdtimeout = setTimeout("fadeOut(); osdtimeout = 0;", 3000); + osdtimeout = setTimeout("fadeOut(); osdtimeout = 0;", ShowOsdTime); } function showVolume() { @@ -941,7 +958,7 @@ function showVolume() { } osdvolume.innerHTML = Lang[1] + " : \uE007" + (new Array(Volume)).join("\uE008") + (new Array(100 - Volume)).join("\uE009") + "\uE00A"; osdvolume.style.opacity = 1; - osdVolumetimeout = setTimeout("osdvolume.style.opacity = 0;", 3000); + osdVolumetimeout = setTimeout("osdvolume.style.opacity = 0;", ShowOsdTime); } @@ -3380,6 +3397,33 @@ SwitchTimer = ii; //end of function } +function ServerPause() { +//Instant pause on server + + try { + xmlhttp=new XMLHttpRequest(); + //switch server to current channel + xmlhttp.open("POST",(RestFulAPI + "/remote/switch/" + channels[currChan]),true); + xmlhttp.send(); + //start pause + setTimeout("xmlhttp.open('POST',(RestFulAPI + '/remote/Record'),false);xmlhttp.send();",5000); + + //Show some info on screen + settimer(EPG[NowNext][2][currChan],"PAUSE",0); + switchtimer.style.opacity = 1; + setTimeout("switchtimer.style.opacity = 0; ", 7000); + + } catch(e) { + alert("Sending Pause key to server problem: " + e); + } + //Next steps: + //Find recording using restfulapi + //Open recording and pause. + +//end of function +} + + function ServerRecordStop() { try { xmlhttp=new XMLHttpRequest(); diff --git a/lang_dut.js b/lang_dut.js index 58d1601..08e821f 100755 --- a/lang_dut.js +++ b/lang_dut.js @@ -78,7 +78,7 @@ Lang[42] = "Channel Mode"; Lang[43] = " Problemen met het opvragen van ZoekTimers "; Lang[44] = " OK om te wissen "; -Lang[45] = " ander om aftebreken "; +Lang[45] = " andere toets om dit niet te doen "; Lang[46] = "vrij "; Lang[50] = " Server EPG "; diff --git a/settings.js b/settings.js index 8e0e39a..fb8d5b6 100644 --- a/settings.js +++ b/settings.js @@ -30,23 +30,19 @@ var ShowProtectedChannels = 1; // 0 = yes show, 1 = don't show protected channel var ShowSource = 1; // show source in OSD var pipPlayer = 0; // 0 = no, 1 = yes Pip var mediaRecorder = 1; // 0 = no, 1 = yes local recording. +var PauseOnServer = 1; // 0 = no pause on server, 1 = pause live TV on server var fullupdate = 1; // If guideview is too slow, set it to 0 (for 1910/1960), faster boxes can use 1 // to force the use on boxes other then 19x3 use 2!! + +var ShowOsdTime = 5000; //Time to show OSD, in seconds * 1000 var inst_timeout = 15 * 1000; // 15 minutes var serverEPGdays = 3 * (60 * 60 * 24); // the higher the longer you wait while getting the epg info -var NN = new Array(); -var Lang = new Array(); -var CLang = new Array(); - var VolumeStep = 5; // Steps the volume buttons make -var ChanGroup = Number(String((currChan / 1000)).substring(0,1)); // default group -var minChan = new Array(); var maxChan = new Array(); var defChan = new Array(); var baseChn = new Array(); var protChn = new Array(); var ServerAdres = new Array(); // Define settings for Channels. - // Server for Recordings var recServ = server_ip + ":8000"; var RestFulAPI = server_ip + ":8002"; @@ -58,6 +54,14 @@ var channeldigits = 2; // 0 - Max 9, 1 max 99, 2 max 999 or 3 max 9999 channels // No need to change anything from here on. // +var ChanGroup = Number(String((currChan / 1000)).substring(0,1)); // default group +var minChan = new Array(); var maxChan = new Array(); var defChan = new Array(); var baseChn = new Array(); var protChn = new Array(); var ServerAdres = new Array(); // Define settings for Channels. + + +var NN = new Array(); +var Lang = new Array(); +var CLang = new Array(); + var isFullscreen = 1; var Volume = StartVolume; var AudioOut = 3; // AUDIO_CONNECTION_TYPE_ANALOG = 0; AUDIO_CONNECTION_TYPE_SPDIF = 1; AUDIO_CONNECTION_TYPE_HDMI = 2;AUDIO_CONNECTION_TYPE_DECODER = 3;AUDIO_CONNECTION_TYPE_BUFFER = 4;AUDIO_CONNECTION_TYPE_I2S = 5; -- cgit v1.2.3