MainRadiotalkCustom
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

Icecast вывод композиции и ведущего

 

4
Александр @Ворошилов-Валера
Нашел на днях интересный скрипт тут на форуме по данному случаю вывод композиции и вывод диджея. Но дело в том что скрипт не дописан. и состоит из кусков. Тобишь скрипт не рабочий.
примеры могу показать наглядно. вот тут **********
а вот и сам скриптик.
<font color="9db1cc"><?php
header("Content-Type: text/html; charset=windows-1251");
function antara($string, $start, $end){
$string = " ".$string;
$ini = strpos($string,$start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string,$end,$ini) - $ini;
return substr($string,$ini,$len);}
$fl = file_get_contents("localhost/json.xsl?mount=/mp3");
if($rj == "0" or $rj == "")(
echo "<img src='ONAIR/LIFE.jpg'>";
$fl = file_get_contents('localhost/status.xsl?mount=/mp3');
}else{ switch ($rj) {
case "DJLILIT":
echo "<img src='ONAIR/ONDJLILIT.jpg' wight=100%>";
break;
case "DJARTIST":
echo "<img src='ONAIR/ONDJARTIST.jpg' wight=100%>";
break;
case "DJVOLF":
echo "<img src='ONAIR/ONDJVOLF.jpg' wight=100%>";
break;}}
$stream = antara($fl,"<td>Stream Title:</td>\n<td class=\"streamdata\">","</td>");
$description = antara($fl, "<td>Stream Description:</td>\n<td class=\"streamdata\">", "</td>");
$listeners = antara($fl, "<td>Current Listeners:</td>\n<td class=\"streamdata\">", "</td>");
$max = antara($fl, "<td>Peak Listeners:</td>\n<td class=\"streamdata\">", "</td>");
$song = antara($fl, "<td>Current Song:</td>\n<td class=\"streamdata\">", "</td>");
echo "<br>В эфире <b>".$stream."</b> <br>Слушает - ".$listeners."<br>Слушало максимум - ".$max."<br>Сейчас Играет - ".$song;
?>
</font>


И не кто не может его дописать или написать правельно. Менял и транскриппцию с win-1251 на utf-8 не помогло. ДА я не спорю что есть тут кулибины из г конфеты лепить. Но так же есть полные рукажопники. Я тоже ракажоп в даном случаи потому что не смыслю в php коде. прошу прощения ссылки не пускает заменил все на localhost

Отредактировано Ворошилов-Валера - 23.11.2014
89
Ok_go_love @Ok_go_love
Какая жесть.
Залейте хотя бы на pastebin.com, а то меня как будто в глаза насилуют.

89
Glueon @Glueon
Вроде бы оно: **********

89
Ok_go_love @Ok_go_love
Какой ужас, в общем. Вот решение в одну(!) строку, как получить ВСЕ данные о радиостанции (только для icecast 2.4.0, где была введена возможность получать данные в json сразу).
Диджеев проще всего опозновать по description. Сия информация находится в $status["icestats"]["source"]["server_description"]
Надеюсь, больше вопросов не останется.
<?php
//Расшифровываем данные, полученные в формате JSON
$status = json_decode(file_get_contents('http://my-cool-radio.org:8080/status-json.xsl?mount=/coolmount'), true);
//Для примера выводим данные о стриме
foreach ($status["icestats"]["source"] as $key => $value) {
echo $key . " = " . $value . "<br />";
}
?>

Отредактировано Ok_go_love - 28.11.2014