Как постоянно получать список последних проигранных треков за час?

webazex

New member
Вопрос следующий.
Есть конфиг, RadioBoss+IceCast+WordPress
В крайнем случае - я сгенерировал отчет который получает треки за час, но этот час (промежуток) - надо указывать вруную - это раз
Отчет запускать постоянно - это два. Через планировщик я не нашел как его запустить.
Смотрел документацию по АПИ, непонятно за какой промежуток времени команда getlastplayed возвращает треки и как можно этот промежуток указать явно или неявно?

Итого

Каким образом я могу получать список треков за последний час?
 
Команда возвращает не более 100 последних проигранных треков.
 
Хорошо, с командой разобрались, вопрос в том как получать треки за последний час - остался открытым
 
Ну как, полученный результат фильтруете по нужному отрезку времени и все...
хорошо попробую... я думал может есть возможность запускать через планировщик формирование отчета,его бы я дальше мог попробовать распарсить..
 
хорошо попробую... я думал может есть возможность запускать через планировщик формирование отчета,его бы я дальше мог попробовать распарсить..

Вот как-то так должно работать..

PHP:
<?php
if (function_exists('date_default_timezone_set')) date_default_timezone_set("Europe/Moscow");

$ip = '127.0.0.1'; // адрес доступа АПИ
$port = 9500; // порт доступа АПИ
$pass = 'test'; // пароль доступа АПИ
$filter = 1; // (необязательно) не включать треки, названия которых не были отправлены на сервер

$xmlstr = 'http://'.$ip.':'.$port.'/?pass='.$pass.'&action=getlastplayed&filter='.$filter;
$xml = simplexml_load_file($xmlstr);

$track_list .= '';

foreach ($xml as $k=>$val) {

    if ( strtotime($val['LASTPLAYED']) < strtotime("now -1 hour") ) break;

    $track_list .= $val['CASTTITLE'] . PHP_EOL;

}

echo nl2br($track_list);
 
Назад
Верх