:::: MENU ::::

Tracktitel dynamisch nachladen (Shoutcast) per AJAX TEIL 2

Teil 2 – Wie bau ich nun die Ausgabe aus Teil 1 in meine Website ein?

Dazu brauchen wir zunächst ein wenig JS Code ( stats.js )

// globale Instanz von XMLHttpRequest
var xmlHttp = false;

// XMLHttpRequest-Instanz erstellen
// ... für Internet Explorer
try {
    xmlHttpy  = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
    try {
        xmlHttpy  = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
        xmlHttpy  = false;
    }
}
// ... für Mozilla, Opera und Safari
if (!xmlHttpy  && typeof XMLHttpRequest != 'undefined') {
    xmlHttpy = new XMLHttpRequest();
}

// aktuelle Daten laden
loadradioData();

// alle 30 Sekunden neue Daten / den Track holen
setInterval("loadradioData()",30000);

function loadradioData()
{
 if (xmlHttpy) {
     xmlHttpy.open('GET', 'radiostats.php', true);
     xmlHttpy.onreadystatechange = function () {
         if (xmlHttpy.readyState == 4) {
//Fügt die aus der PHP ausgelesenen Daten in in den <div id="radio_stats></div> ein
             document.getElementById("radio_stats").innerHTML = xmlHttpy.responseText;
         }
     };
     xmlHttpy.send(null);
 }
}

Diese binden wir in die Radio Website z.b. index.php ein:

<html>
<head>
<title>Shoutcast Radio Titel per JS ausgeben</title>
<script src="stats.js" type="text/javascript"><!--mce:0--></script>
</head>

Im 2en Schritt müssen wir im <body> noch unseren DIV einfügen in dem der Songtitel erscheinen soll:

<body>
<div id="radio_stats" style="color:red;" align="left">
</div> <!-- in dem DIV erscheint der Songtitel -->
</body>
</html>

Und das wars dann auch schon! Ihr habt eine dynamische Streamtitel Anzeige für euren Shoutcastserver und euer Webradio!

Downloaden könnt ihr das ganze  hier !

PS: Falls ihr ein Webradio betreibt und Hilfe benötigt oder einen Programmierer sucht sagt Bescheid!


Tracktitel dynamisch nachladen (Shoutcast) per AJAX TEIL 1

Längere Zeit habe ich für ein Radioprojekt programmiert, diese wollten das sich die Trackanzeige auf ihrer Startseite automatisch aktuallisiert, dem habe ich mich natürlich angenommen und nen Trackupdater per Ajax programmiert den ich euch natürlich nicht vorenthalten möchte ( GNU/GPL 4 an die Macht).

Performance-technisch ist  Verbesserung möglich ( z.b. durch cronjob und Titel in DB) allerdings war dies nicht Kundenwunsch um zum Zeigen reicht es ja =)

Zunächst brauchen wir das PHP-Script ( radiostats.php) das den Titel ausließt ( wäre theoretisch auch per AJAX möglich,habe es aber trotzdem in AJAX realisiert da einige Webradios nicht gern den Ort ihres Shoutcastservers bekannt geben, werde aber evtl eine JS Lösung nach reichen)

<?php
// Auslesescript für ShoutcastXML radiostats
$server = "hardi.rockt.es";
$port = 8000;
    $fp = @fsockopen($server, $port, $errno, $errstr, 30);

    if ($fp) {
        fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
        while(!feof($fp))
            $page .= fgets($fp, 1000);
        fclose($fp);
        $page = ereg_replace(".*", "", $page);
        $page = ereg_replace(".*", ",", $page);
        $numbers = explode(",", $page);
        $shoutcast_currentlisteners = $numbers[0];
        $connected = $numbers[1];
        if($connected == 1) {
            $radio_status = 1;
            $wordconnected = "yes";
        }
        else
            $wordconnected = "no";
        $shoutcast_peaklisteners = $numbers[2];
        $shoutcast_maxlisteners = $numbers[3];
        $shoutcast_reportedlisteners = $numbers[4];
        $shoutcast_bitrate = $numbers[5];
        $shoutcast_cursong = $numbers[6];
        $shoutcast_curbwidth = $shoutcast_bitrate * $shoutcast_currentlisteners;
        $shoutcast_peakbwidth = $shoutcast_bitrate * $shoutcast_peaklisteners;
    }

// Hier habt ihr freie Auswahl, ich würde 2 PHP Scripte empfehlen einmal mit Listener einmal mit Track
#echo 'Anzahl der hoerer: ' . $shoutcast_currentlisteners ;
#echo ' Bitrate: ' . $shoutcast_bitrate .'kb/s ';
#echo ' Zuhoerer Peak: ' . $shoutcast_peaklisteners;
#echo ' Maximale Zuhoerer: ' . $shoutcast_maxlisteners ;
echo ' Aktueller Song: ' . $shoutcast_cursong;
## output off ##
## shoutcasthack by bikky off ##

Nun haben wir unsere radiostats.php mit folgender Ausgabe:

Aktueller song: Beispiel- beispiel

Wie ihr nun die Ausgabe dynamisch in eure Website einbaut seht ihr im 2en Teil morgen!


PHPinfo() selbst gestalten

Jeder PHP-Entwicklerm, Webhoster und Webmaster kennt die PHPinfo() Funktion, sie gibt einem schnell Aufschluss über die PHP Koniguration eines Servers, aber auch wichtige Infos zum HTTP Header, der Apache Umgebung und liefert wichtige Variablen wie $_SERVER[“DOCUMENT_ROOT”].

info

Continue Reading


Neuer Header

Endlich nen ordentlicher Blogheader
Vielen dank an Thomas von http://www.vevi.bplaced.net

Euch gefaellt das Logo, schreibt ihm doch einfach mal! oder meldet euch im bplaced forum

PS Der Win7 Artikel verzoegert sich ein paar Tage, upgrade klappt nicht und ich wei- noch nciht ob ich meine komplette Kiste plaetten werde


Seiten:1...7891011121314