Soziale Netzwerke

twitter_logo youtube_logo google_plus

Thread ansehen

 
Icecast2
Cyberscitymaste
Geschrieben am 01.08.2014 16:14:42


Posts: 3
Registriert seit: 30.07.12

Hallo liebe gemeinde wann wird den das Update kommen für Icecast Support
ich versuche schon geraume Zeit das ding umzuproggen aber irgend wie Klappt das nicht
ich habe rausgefunden das ja im entefekt nur die Class geändert werden müsste
Code

<?php

class IceCast {
    var $server = "http://radio-dle.de:8000";
    var $stats_file = "/status.xsl";
    var $radio_info=array();

    function __construct() {
        //build array to store our radio stats for later use       
        $this->radio_info['server'] = $this->server;
        $this->radio_info['title'] = 'Offline';
        $this->radio_info['description'] = 'Radio offline';
        $this->radio_info['content_type'] = '';
        $this->radio_info['mount_start'] = '';
        $this->radio_info['bit_rate'] = '';
        $this->radio_info['listeners'] = '';
        $this->radio_info['most_listeners'] = '';
        $this->radio_info['genre'] = '';
        $this->radio_info['url'] = '';
        $this->radio_info['now_playing'] = array();
        $this->radio_info['now_playing']['artist'] = 'Unknown';
        $this->radio_info['now_playing']['track'] = 'Unknown';
    }

    function setUrl($url) {
        $this->server=$url;
        $this->radio_info['server'] = $this->server;
    }

    private function fetch() {
        //create a new curl resource
        $ch = curl_init();

        //set url
        curl_setopt($ch,CURLOPT_URL,$this->server.$this->stats_file);

        //return as a string
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

        //$output = our stauts.xsl file
        $output = curl_exec($ch);

        //close curl resource to free up system resources
        curl_close($ch);

        return $output;
    }

    function getStatus() {
        $output=$this->fetch();

        //loop through $ouput and sort into our different arrays
        $temp_array = array();

        $search_for = "<td\s[^>]*class=\"streamdata\">(.*)<\/td>";
        $search_td = array('<td class="streamdata">','</td>');


        if(preg_match_all("/$search_for/siU",$output,$matches)) {
           foreach($matches[0] as $match) {
              $to_push = str_replace($search_td,'',$match);
              $to_push = trim($to_push);
              array_push($temp_array,$to_push);
           }
        }

        if(count($temp_array)) {
            //sort our temp array into our ral array
            $this->radio_info['title'] = $temp_array[0];
            $this->radio_info['description'] = $temp_array[1];
            $this->radio_info['content_type'] = $temp_array[2];
            $this->radio_info['mount_start'] = $temp_array[3];
            $this->radio_info['bit_rate'] = $temp_array[4];
            $this->radio_info['listeners'] = $temp_array[5];
            $this->radio_info['most_listeners'] = $temp_array[6];
            $this->radio_info['genre'] = $temp_array[7];
            $this->radio_info['url'] = $temp_array[8];

            if(isset($temp_array[9])) {
                $x = explode(" - ",$temp_array[9]);
                $this->radio_info['now_playing']['artist'] = $x[0];
                $this->radio_info['now_playing']['track'] = $x[1];
            }
        }
        return $this->radio_info;
        }

}
?>




das wäre dan die class für Icecast
 
Manuel1986
Geschrieben am 11.09.2016 06:03:58


Posts: 1
Registriert seit: 13.05.16

fileich könnte mir jemad sagen in welsch ortner das ist was man ändern muss danke sehr
 
Ragdoll
Geschrieben am 11.09.2016 09:19:52
User Avatar

Posts: 1995
Registriert seit: 02.07.10

@ Threadersteller, bis dato noch kein neuer Radiostatus insicht.

@ Manuel1986, wie du bereits oben lesen konntest funktioniert das so nicht und ich selbst habe mich nicht auf icecast spezialisiert.
www.granade.eu/images/linkus/gross4.png