:::: MENU ::::

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!


12 Comments

  • Bluetiger |

    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

  • Kostas |

    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 🙂

  • Sir Jacky |

    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

  • Sir Jacky |

    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.

  • http://www.sorethumbsblog.com/ |

    This is one of Daniel Greenfield's funniest posts, hilarious in it penetrating insight, out loud funny in how its truth mocks those who live to mock.Between this and your amazingly insightful piece on Biden, kol hakavod!

  • http://www.bostonianinnandrvpark.com/ |

    Hi Test,Things do seem a bit less serious when the links are placed on relevant pages. At least the user experience isn’t degraded as much.On the other hand, you are manipulating Google’s algorithm. If paid links didn’t exist, we wouldn’t have half the crap we have in Google’s results. Do you think that matters?

  • http://www./ |

    Sol Melia, Barcelo, and Iberostar are your best resort choices and these are no less than 4*…and never book less than that.Look at the links and see what interests you.

So, what do you think ?