Tracktitel dynamisch nachladen (Shoutcast) per AJAX TEIL 1

August 26th, 2009 · by Michi · Allgemein

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!

Related Posts Plugin for WordPress, Blogger...

7 Responses to “Tracktitel dynamisch nachladen (Shoutcast) per AJAX TEIL 1”

  1. Huhu,

    Ich würde gern auch anzeigen wer sendet also den DJ oder den Streamtitel darin könnte man den DJ schreiben.
    Ihr Script zeigt mir leider nur den Titel an der läuft.
    Bandbreite Anzahl der KB und der Hörer Bandbreite brauch ich net.
    Haben Sie ein Script das nur den DJ ausliest der sendet und den Songtitel der Rest kann raus.
    Über Antowrt wäre ich dankbar.
    Gruss Nightless

  2. hey =)
    hab dir mal ne mail geschickt

  3. Hallo, danke erstmal für dein tolles script!

    Ich hätte eine frage an dich, ich such seit langem nach einem script das irgendwie die pls oder sonstiges erstellt ohne das im player infos zum server:port angezeigt werden. Siehe z.b technobase

    Wäre dankbar wenn du da etwas für mich hättest :)

  4. Hallo,
    habe mir da so eine Box zur Titelanzeige für wbb3.1 gebaut mit deinen Dateien. Nun möchte ich aber die Titel per Laufschrift (marquee) umsetzen. Das funktioniert auch soweit nur das die Tietel im Internet Explorer, Safari und Opera nicht vollständig angezeigt wird sonder z.B. so…
    “Johnny Logan – Whats an…” also am Ende nur die 3 Punkte. Im Firefox geht das einwandfrei. Hat sich da Browser mäßig was verändert?

    Gruß
    Jacky

  5. Keiner eine Idee wie man das mit der Laufschrift umsetzen kann?

    Ich denke wenn manche Radios extrem langen Text in der Titelanzeige haben wird diese nicht vollständig angezeigt.

  1. [...] 2 – Wie bau ich nun die Ausgabe aus Teil 1 in meine Website [...]

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes
More in Allgemein (74 of 77 articles)