如何显示流名称? [的Icecast]

时间:2017-08-30 11:59:48

标签: php stream icecast

我从不同的Stackoverflow问题中获取了部分PHP代码,并且它运行良好。

<?php header>

//Display IceCast Server Stats

$server = "***********"; //IP (x.x.x.x or domain name)
$iceport = "8070"; //Port
$iceurl = "live"; //Mountpoint
$online = "<font color=green><b>ONLINE</b> </font><br />";
$offline = "<font color=red><b>OFFLINE</b></font><br />";

if($fp = @fsockopen($server, $iceport, $errno, $errstr, '1')) {
        fclose($fp);
        $ice_status=$online;
        echo "<p><b>DJ:</b> $ice_status";
        $stats = file("http://" . $server . ":" . $iceport . "/status2.xsl");
        $status = explode(",", $stats[5]);
        $artist = explode("-", $status[5]);
echo " " . $artist[1];
echo " - ";
        echo " " . $artist[2];
echo "<br />";
//      echo "<b>Listeners:</b> <b> " . $status[3] . "</b>";
        echo "</p>";
//echo "<br />";
//echo "<p><a href=http://" . $server . ":" . $iceport . "/" . $iceurl . " target=new><b>Listen!</b></a></p>";

 } else {

        $ice_status=$offline;
        echo "<p><b>DJ:</b> $ice_status";
}

?>
<hr />
</center>

我正在尝试添加当前的流名称:    回声“

DJ: $ ice_status”; 这显示DJ:ONLINE,但我希望它说DJ :( DJ名称/流名称)

我确实相信来自status2.xsl的变量,但我在这方面是一个完整的菜鸟,似乎无法弄清楚如何使用它。谁能告诉我什么是streamname变量?

我也想知道,是否有可能让“nowplaying.php”刷新,但我的整个网页没有?我已经尝试了iframe,但它看起来非常糟糕,并且有错误。

我的网站目前的样子:https://i.stack.imgur.com/luc4O.jpg

1 个答案:

答案 0 :(得分:0)

我建议看一下TheFineManual™:

http://icecast.org/docs/icecast-2.4.1/server-stats.html#xslt

特别是关于status-json.xsl的部分。确保您运行的是最新版本的Icecast。所有主要的Linux发行版都提供Icecast,采用最新的包装。 Xiph提供independent packaging,如果没有最新的发行包,例如,在Icecast发布后不久。

status2.xsl是一个示例文件,而且是一个糟糕的文件。它已从较新的Icecast版本中删除。