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

Вывод треков которые еще не проигрывались

 

2
bucefal @bucefal
Доброго времени суток!

Не могу справиться с задачей может кто подскажет где копать.
Вообщем нужно вывести треки которые уже играли и которые еще будут играть.
Вещаю через Sound Empire 2.5.0 + Icecast 2.4.2
перерыл весь инет не нашел.
Заранее спасибо.

419
gyurgin_ @gyurgin_
Sound Empire он как бы это попроще, редкий зверь, как там вывести что будет играть я понятия не имею, и сторию сервер сайдом сайта вывести не вопрос, это Вам к тому кто сайт делает нужно обратиться.

2
bucefal @bucefal
Короче справился сам)
Расскажу как сделал может кому поможет.

Как я вывел треки что играли:
Подключил в icecast.xml playlist.log и спомощь скрипта:

<?php
header('Content-Type: text/html; charset=UTF-8');
error_reporting(0);
$data = file("путь к файлу playlist.log");
$n = 9;
if(!$data)
{
echo "FILE NOT FOUND";
}


$data2 = array_slice($data, -9, $n);

$result = array_reverse($data2);

for($i=1;$i<$n;$i++){
echo"<table align=\"\" width=\"700\" bordercolor=\"#000\" border=\"0\" cellpadding=\"0\" rules=\"\">" ;
$mass = explode("|",$result[$i]);
$rest = substr($mass[0], -14, 8);
echo "<td>".$mass[3]."</td>";
echo "<tr>";
echo "</table>";
}
?>

Выводит как надо и есть момент скрипт читает со второй строчки так как последний трек сейчас в плеере.

Далее как я вывел то что будет играть:

В Sound Empire в корневой папке программы (C:\Program Files (x86)\Sound Empire) есть некий файл Studio.html.
Создаем Studio2.html с нужными видом вывода.
Например:

<ul class="playlist_out">
<li><span>!SE!PlayListSongArtist0</span> - <span>!SE!PlayListSongTitle0</span></li>
<li><span>!SE!PlayListSongArtist1</span> - <span>!SE!PlayListSongTitle1</span></li>
<li><span>!SE!PlayListSongArtist2</span> - <span>!SE!PlayListSongTitle2</span></li>
<li><span>!SE!PlayListSongArtist3</span> - <span>!SE!PlayListSongTitle3</span></li>
<li><span>!SE!PlayListSongArtist4</span> - <span>!SE!PlayListSongTitle4</span></li>
<li><span>!SE!PlayListSongArtist5</span> - <span>!SE!PlayListSongTitle5</span></li>
<li><span>!SE!PlayListSongArtist6</span> - <span>!SE!PlayListSongTitle6</span></li>
<li><span>!SE!PlayListSongArtist7</span> - <span>!SE!PlayListSongTitle7</span></li>
</ul>

Подключаем Studio2.html в настройках после чего программа в указанное вами место генерирует файл metadata2.txt этот файл обновляется автоматически.
Теперь вопрос как его передать, я нашел решение через ftp с помощью программы xStarter
Настроил так чтобы передавал каждые 20 секунд (учитывая вес файла ресурс почти не ест)
После того как передал на сервер, выел этот файл через скрипт:

<?php
$names=file('путь к файлу metadata2.txt');
foreach($names as $name)
{
echo $name.'';
}
?>

Собственно и все.

И не менее важное для обновление скрипта без перезагрузки страницы на шел в сети такое решение:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<!-- ↑ Только если JQuery min ещё не подключён-->
<script type="text/javascript">
jQuery(document).ready(function(){
setInterval("jQuery('#timeC').load('# dl#timeD');",20000); //интервал обновления в миллисекундах =20секунд
});
</script>
<dl id="timeC"><dl id="timeD">
</dl></dl>

Его более чем достаточно.

419
gyurgin_ @gyurgin_
bucefal пишет:


И не менее важное для обновление скрипта без перезагрузки страницы на шел в сети такое решение:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<!-- ↑ Только если JQuery min ещё не подключён-->
<script type="text/javascript">
jQuery(document).ready(function(){
setInterval("jQuery('#timeC').load('# dl#timeD');",20000); //интервал обновления в миллисекундах =20секунд
});
</script>
<dl id="timeC"><dl id="timeD">
</dl></dl>

Его более чем достаточно.

Вот это удалите, так нормально все, а как вывести люди собразят и без дурных рецептов.