Moin Zusammen,
also erstmal hi everyone, ich hab mich hier bei euch mal Registriert weil ich folgendes Problem hab und ich hoffe das mir hier wer helfen kann oder vielleicht ne lösung hat.
Es geht um folgendes ich habe ein Webradio auf dessen Hauptseite ich einen Ticker (mit marquee) laufen habe der das aktuell gespielte Lied, die aktuelle hörer zahl und die aktuelle bitrate aus meinem Stream ausließt.
Allerdings läuft der die Ganze zeit nur durch und aktualisiert die Daten nur dann wenn ich die seite neu lade.
Gibt es eine Möglichkeit wie der neu ausließt wenn er mit dem marquee einmal durchgelaufen ist?
Was mir spontan eingefallen ist wäre Einfach seite immer neuladen lassen aber das find ich irgentwie dumm... oder den ticker in nen frame setzen und den neuladen lassen aber das is auch kacke könnt man da nich was mit nem timer machen der eventuell nach ner gewissenzeit (die durchlaufzeit) die daten dann neu ausließt ?
Hier mein Code der den stream ausließt (Serverdaten aus Sicherheitsgründen entfernt):
<?php
if ($_REQUEST['url'] && $_REQUEST['port']) {
$port = $_REQUEST['port'];
$server = $_REQUEST['url'];
} else {
$port = 'XXX'; // Port
$server = XXXXXXX; // Server
}
echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "[URL='http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'']http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'[/URL] . "\n";
echo '<html xmlns="[URL='http://www.w3.org/1999/xhtml">'']http://www.w3.org/1999/xhtml">'[/URL] . "\n";
if ($port == '' || $server == '') {
echo ' <head>' . "\n";
echo ' <title>Hardsound FM - LiveTicker</title>' . "\n";
echo ' </head>' . "\n";
echo ' <body>' . "\n";
echo ' <h1>ES FEHLEN DATEN!</h1>' . "\n";
echo ' </body>' . "\n";
echo '</html>' . "\n";
} else {
$playlist = 'http://' . $server . ':' . $port . '/listen.pls';
$filepointer = @fsockopen($server, $port, $errno, $errstr, 30);
if ($filepointer) {
fputs($filepointer, "GET /7.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
while(!feof($filepointer)) {
$page .= fgets($filepointer, 1000);
}
fclose($filepointer);
$page = ereg_replace(".*<body>", "", $page);
$page = ereg_replace("</body>.*", ",", $page);
$content = explode(",", $page);
$shoutcast_currentlisteners = $content[0]; //variable ueber die aktuelle anzahl der zuhoerer
$connected = $content[1]; //variable zum anzeigen ob ein sender verbunden ist
if($connected == 1) {
$radio_status = 1; //variable zum anzeigen ob radio an ist oder nicht
$wordconnected = "yes"; //zusaetzliche variable die ich brauchte ;)
} else {
$wordconnected = "no"; //zusaetzliche variable die ich brauchte
}
$shoutcast_peaklisteners = $content[2]; //variable die die anzahl der peaks angiebt
$shoutcast_maxlisteners = $content[3]; //variable ueber die maximal moegliche anzahl der zuhoerer
$shoutcast_reportedlisteners = $content[4]; //
$shoutcast_bitrate = $content[5]; //bitrate ;)
$shoutcast_cursong = $content[6]; //aktueller song
$shoutcast_testvat = $content[7]; // testvariable
$shoutcast_curbwidth = $shoutcast_bitrate * $shoutcast_currentlisteners; //gesamtbandbreite
$shoutcast_peakbwidth = $shoutcast_bitrate * $shoutcast_peaklisteners; //gesamtpeakbandbreite
}
## output on ##
echo ' <head>' . "\n";
echo ' <title>Hardsound FM - Stream Ticker</title>' . "\n";
echo ' </head>' . "\n";
echo ' <body bgcolor="#4d6a86"><font-size="11px">' . "\n";
if ($radio_status == 1 && $server != '' && $port != '') {
echo ' <font color="white"><marquee><b/> Listener: ' . $shoutcast_currentlisteners . ' | <b />' . "\n";
echo ' Bitrate: ' . $shoutcast_bitrate .' kb/s | <b />' . "\n";
echo ' Aktueller Song: "' . $shoutcast_cursong . '" | ' . "\n";
echo ' Tune In: <a href="' . $playlist . '">' . $playlist . '</a></marquee><b />' . "\n";
} else {
echo ' <center>Stream <font color="red">Offline</font></center>' . "\n";
}
echo ' </body>' . "\n";
echo '</html>' . "\n";
}
?>
Alles anzeigen
Würde mich freuen wenn wer antwortet oder nen Tipp/Lösung parat hätte. Vielleicht gibt es ja ne ganz einfache? Weiss das leider nich so gut, bin eher php neuling denke ich^^
Danke schonmal im Vorraus
Gruß
Sylar