diff options
| author | M. Voerman <rekordc@gmail.com> | 2013-01-15 13:10:50 +0100 |
|---|---|---|
| committer | M. Voerman <rekordc@gmail.com> | 2013-01-15 13:10:50 +0100 |
| commit | ccb6b85143b4bdbf4ee01365fe9398e15ae1504b (patch) | |
| tree | 0c07a5e9b451136dfc85538b9bd5536948e01a1a | |
| parent | 61c4e59768842e5708bf60571c63f22091b3db4a (diff) | |
| download | vdr-vipclient-ccb6b85143b4bdbf4ee01365fe9398e15ae1504b.tar.gz vdr-vipclient-ccb6b85143b4bdbf4ee01365fe9398e15ae1504b.tar.bz2 | |
Plays now http streams from MPD
| -rw-r--r-- | History | 2 | ||||
| -rw-r--r-- | index.html | 63 | ||||
| -rw-r--r-- | settings.js | 17 |
3 files changed, 53 insertions, 29 deletions
@@ -4,7 +4,7 @@ Lot of small fixes and changes. Added Menu INFO for IP/ DVR state Standby now stops the stream, getting back from standby reconnects to server & sets display - Added initial support for MPD. + Added initial support for MPD -> client plays stream from MPD-httpd 0.10 Added sub Listinges for use as Radio list / Protected List / SD/HD list etc (Use for Multicast Channels keyword MultiCast in Serveradres) @@ -1481,13 +1481,13 @@ function onKeyMenu(keyCode) { switch(keyCode) { case "BrowserBack": if (menu !== 0) { - if (menu == 3 ) { isFullscreen = 0; play(channels[currChan]); isFullscreen = 1; } + if (menu == 3 ) { isFullscreen = 0; play(channels[currChan]); isFullscreen = 1; mediaPlayer.removeEventListener(mediaPlayer.ON_STATE_CHANGED, MPD);} menu = 0; InitMenu(menu); break; } case "Menu": - if (menu == 3 ) { play(channels[currChan]); } + if (menu == 3 ) { play(channels[currChan]); mediaPlayer.removeEventListener(mediaPlayer.ON_STATE_CHANGED, MPD);} isSetupMenu = 0; mainmenu.style.opacity = 0; break; @@ -1662,7 +1662,7 @@ function onKeyMenu(keyCode) { InitMenu(menu); break; case KEY_9: - if (menu == 0) { + if (menu == 0 || menu == 3) { menu = 3; playMPD(MPDAddress); InitMenu(menu); @@ -1674,7 +1674,7 @@ function onKeyMenu(keyCode) { break; case KEY_0: if (menu !== 0) { - if (menu == 3 ) { isFullscreen = 0; play(channels[currChan]); isFullscreen = 1; } + if (menu == 3 ) { isFullscreen = 0; play(channels[currChan]); isFullscreen = 1; mediaPlayer.removeEventListener(mediaPlayer.ON_STATE_CHANGED, MPD);} menu = 0; InitMenu(menu); } @@ -1706,22 +1706,6 @@ function onKeyMenu(keyCode) { } -function playMPD(uri) { - try { - if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { - mediaPlayer.close(); - } - mediaPlayer.open(uri); - mediaPlayer.play(1000); - showDisplay("MPD", false, 100, 0 ); - } catch (e) { - alert("Failed opening recording: " + e); - return; - } -} - - - function InitMenu(menu) { if(menu == 0) { // Main Menu @@ -1834,6 +1818,45 @@ function LoadTimers() { // End of Menu section +// MPD Section + +function MPD(ev) { + alert("Media player state changed: state=" + ev.state + ", reason=" + ev.reason + ", code=" + ev.code); + + if ( ev.state == 6 && ev.reason == "HostUnreachable" ) { + showDisplay("ERRR", false, 100, 0 ); + mainmenu.innerHTML = "<h1><center style='font-size:" + fsMenuMain + ";color:white;'> MPD Connection </center></h1><pre style='color:black;font-size:" + fsMenu + ";'> MENU to exit \n 0 - back to MainMenu \n 9 - Retry \n\n<center style='color:white;'>ERROR Connecting to MPD server : \n" + MPDAddress + "</center></pre>"; + } else if ( ev.state == 2 ) { // && ev.reason == "PositionEnd" ) { + showDisplay("STOP", false, 100, 0 ); + mainmenu.innerHTML = "<h1><center style='font-size:" + fsMenuMain + ";color:white;'> MPD Connection </center></h1><pre style='color:black;font-size:" + fsMenu + ";'> MENU to exit \n 0 - back to MainMenu \n 9 - Reconnect \n\n<center style='color:white;'>Connected to MPD server : \n" + MPDAddress + "\nbut streaming ended</center></pre>"; + } else if ( ev.state == 3 && ev.reason == "CommandPlay" ) { + showDisplay("MPD", false, 100, 0 ); + mainmenu.innerHTML = "<h1><center style='font-size:" + fsMenuMain + ";color:white;'> MPD Connection </center></h1><pre style='color:black;font-size:" + fsMenu + ";'> MENU to exit \n 0 - back to MainMenu \n\n\n<center style='color:white;'>Connected to MPD server : \n" + MPDAddress + "</center></pre>"; + } else { + showDisplay("ERRR", false, 100, 0 ); + mainmenu.innerHTML = "<h1><center style='font-size:" + fsMenuMain + ";color:white;'> MPD Connection </center></h1><pre style='color:black;font-size:" + fsMenu + ";'> MENU to exit \n 0 - back to MainMenu \n 9 - Reconnect \n\n<center style='color:white;'>Error : " + ev.state + "\n Reason : " + ev.reason + "</center></pre>"; + } + +} + +function playMPD(uri) { + try { + if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { + mediaPlayer.close(); + } + mediaPlayer.open(uri); + mediaPlayer.play(1000); + if (!MPDListener) { mediaPlayer.addEventListener(mediaPlayer.ON_STATE_CHANGED, MPD); } + MPDListener = 1; + } catch (e) { + alert("Failed opening recording: " + e); + return; + } +} + + +// End of MPD Section + // Media Player Section function LoadMediaSettings() { diff --git a/settings.js b/settings.js index 2c69afc..24a435c 100644 --- a/settings.js +++ b/settings.js @@ -6,8 +6,8 @@ // 1280x720 // 1920x1080 -var Xfactor = 1920 / 720; -var Yfactor = 1080 / 576; +var Xfactor = 1280 / 720; +var Yfactor = 720 / 576; var showClock = 0; // 0 = no, 1 = yes @@ -34,8 +34,8 @@ var ChanGroup = 0; // default TV 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 = "http://192.168.1.15:8000"; -var MPDAddress = "http://192.168.1.15:8888/mpd.mp3"; +var recServ = "http://192.168.3.15:8000"; +var MPDAddress = "http://192.168.3.15:8888"; // Radio channels.js Settings minChan[9] = 9001; @@ -43,7 +43,7 @@ maxChan[9] = 9099; // set not too far from max rd channel to speed up zapping defChan[9] = 9051; baseChn[9] = 9000; protChn[9] = 0; -ServerAdres[9] = "http://192.168.1.15:3000/"; +ServerAdres[9] = "http://192.168.3.15:3000/"; // Protected channels.js Settings minChan[6] = 6001; @@ -51,7 +51,7 @@ maxChan[6] = 6040; // set not too far from max prt channel to speed up zapping defChan[6] = 6001; baseChn[6] = 6000; protChn[6] = 1; -ServerAdres[6] = "http://192.168.1.15:3000/"; +ServerAdres[6] = "http://192.168.3.15:3000/"; // TV channels.js Settings minChan[0] = 1; @@ -59,7 +59,7 @@ maxChan[0] = 999; // set not too far from max TV channel to speed up zapping defChan[0] = currChan; baseChn[0] = 0; protChn[0] = 0; -ServerAdres[0] = "http://192.168.1.15:3000/"; +ServerAdres[0] = "http://192.168.3.15:3000/"; //HD list minChan[1] = 1001; @@ -67,7 +67,7 @@ maxChan[1] = 1999; // set not too far from max HD channel to speed up zapping defChan[1] = 1001; baseChn[1] = 1000; protChn[1] = 0; -ServerAdres[1] = "http://192.168.1.15:3000/"; +ServerAdres[1] = "http://192.168.3.15:3000/"; // MultiCast minChan[5] = 5001; @@ -216,3 +216,4 @@ var timer = new Array(); var getbookingID = 0; var timerID = 0; var nrMedia = 0; +var MPDListener = 0; |
