Hallo zusammen,
mit dem folgenden Script habt Ihr die Möglichkeit mit Hilfe der Shoutcast
Datenbank einzelne Sender über das Webfront anzuzeigen und abzuspielen.
Die Sender sind nach Genre sortiert. Weiter besteht die Möglichkeit die Top 500
von Shoutcast aufzurufen. Neu hinzugekommen in der V3.0 ist die Möglichkeit
Sender als Favoriten abzuspeichern. Das ganze wurde mit IPS V2.5 getestet.
Installation:
- Kopiert das „shoutcast.png“ nach IP-Symcon\webfront\user\icons\fixed und das
„Plus.png“ und „Minus.png“ nach IP-Symcon\webfront\user\icons - Entpackt die „radioV3.2.zip“ nach IP-Symcon\webfront\user
( In Eurem user Ordner muss danach ein Verzeichniss mit dem Namen „radio“ existieren. ) - Erstellt in IP-Symcon unter Eurer MediaPlayer Instanz ein neues Script mit dem Namen „Shoutcast Webradio“ und fügt folgenden Inhalt ein:
Bitte tragt im Script noch die ID Eures Webfront-Konfigurators ein, welchen Ihr zur Anzeige nutzt.
<?php
// Bitte tragen Sie die ID des Webfront Konfigurators ein, über welchen Sie Ihr Webfront aufrufen
$webfrontid = 11879 /*[WebFront Configurator]*/;
// ************* Ab hier nichts mehr ändern. ****************
// Player ID ermitteln
$object = IPS_GetObject($IPS_SELF);
$playerid = ($object['ParentID']);
// Script verstecken
IPS_SetHidden($IPS_SELF, true);
// Variable anlegen und verstecken, in welcher die Favoriten gespeichert werden
$idfav = CreateVariableByName($playerid, "Shoutcast Favoriten", 3);
IPS_SetHidden($idfav, true);
// Variable anlegen und verstecken, in welcher der Counter abgelegt wird
$idcounter = CreateVariableByName($idfav, "Counter", 1);
IPS_SetHidden($idcounter, true);
// Variable anlegen und Icon zuweisen, welche im Webfront als Box angezeigt wird
$idbox = CreateVariableByName($playerid, "Shoutcast Webradio", 3, "~HTMLBox");
IPS_SetIcon($idbox, "shoutcast");
// Box füllen
SetValue($idbox , "<iframe src=\"user/radio/radio.php?playerid=".$playerid."&webfrontid=".$webfrontid."&idfav=".$idfav."&idcounter=".$idcounter."\" border=\"0\" frameborder=\"0\" style=\"top: 0pt; bottom: 0pt; left: 0pt; right: 0pt; width: 100%; height: 400px;\"/></iframe>");
// Fertig Meldung anzeigen
echo "Fertig...";
// ************** Funktionsscripte **************************
function CreateVariableByName ($id, $name, $type, $profile = "")
{
global $IPS_SELF;
$vid = @IPS_GetVariableIDByName($name, $id);
if ($vid === false)
{
$vid = IPS_CreateVariable($type);
IPS_SetParent($vid, $id);
IPS_SetName($vid, $name);
IPS_SetInfo($vid, "this variable was created by script #$IPS_SELF");
if ($profile !== "") { IPS_SetVariableCustomProfile($vid, $profile); }
}
return $vid;
}
?>
- Führt nun das Script aus. Das Script legt alle benötigten Variablen an.
Habt Ihr mehrer Media Player Instanzen führt für jede Punkt 3 und 4 aus.
Bedienung:
Im Webfront seht Ihr jetzt eine neue HTMLBox mit dem Shoutcast Interface.
Zum Start wird die Top500 geladen. Über den Button „Genre Asuwahl“ könnt Ihr Euch eine Liste
der verfügbaren Genre anzeigen lassen. Nachdem Ihr ein Genre ausgewählt habt, werden die
Sender passend zu diesem Genre geladen. Über den Playbutton könnt Ihr den Sender abspielen.
Mit dem Plusbutton könnt Ihr den Sender zu Euren Favoriten hinzufügen.
Über den Button Favoriten könnt Ihr Euch Eure Favoritenliste anzeigen. Hier könnt Ihr ebenfalls
über den Playbutton den Sender abspielen. Über den Minusbutton könnt Ihr den Sender aus der
Favoritenliste löschen.
So nun wünsche ich Euch viel Spaß beim Musik hören
Änderung:
2010-11-29 - V1.1 - Touchoptimierte Version erstellt. Es erscheinen keine Scrollbalken mehr im Browser. Das scrollen der Liste wird über die zwei Button im Menü realisiert.
2011-01-29 - V2.0 - Da Shoutcast auf die API 2.0 gewechselt ist, habe ich dies ebenfalls angepasst.
2011-06-23 - V3.0 - Komplette Überarbeitung, Favoritenliste, Ladeanimation, Bestätigungen, Touchoptimiert.
2011-07-13 - V3.1 - Kleinere Anpassungen, getestet unter FF5 und IPad2, kleine Fehlerbehandlung da die Shoutcast API im Moment sehr buggy ist.
2012-01-22 - V3.2 - devid angepasst, Anpassungen am Design
Eine Anmerkung zum Schluss. Mein Script basiert zum Teil auf dem XBMC-Script von Horst.
radioV3.0.zip (18 KB)
radioV3.1.zip (18 KB)
radioV3.2.zip (29 KB)