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

Вывод истории треков

 

120
Александр @Aleksandr_Boyko
Помогите реализовать вывод 5 треков которые уже были в эфире)) free.radioheart.ru:8000/bvrfm - вот мой поток

382
Grigorij @gyurgin_1
А чем вещаем, что и как нам опять угадывать?

120
Александр @Aleksandr_Boyko
gyurgin_1 пишет:

А чем вещаем, что и как нам опять угадывать?
Да нет, угадывать не нужно, вещаю радиобоссом. Просто думал что это не так важно

120
Александр @Aleksandr_Boyko
Раньше вещал Джин лайтом, но мне показался радиоБосс более удобным и практичным, решил использовать его

Отредактировано Aleksandr_Boyko - 21.11.2014
41
veres @veres
Можно в настройках Босса указать, чтоб делался http GET-запрос. Таким образом можете добавлять все проигранные треки в базу MySQL - и выводить их на сайт в каком либо виде, хоть 5, хоть 25... с сортировкой по дате, с поиском по базе по времени и т.д.

Отредактировано veres - 21.11.2014
120
Александр @Aleksandr_Boyko
veres пишет:

Можно в настройках Босса указать, чтоб делался http GET-запрос. Таким образом можете добавлять все проигранные треки в базу MySQL - и выводить их на сайт в каком либо виде, хоть 5, хоть 25... с сортировкой по дате, с поиском по базе по времени и т.д.
Если вам не сложно, помогите это реализовать, я только начал этим заниматься, и ещё не всё знаю

120
Александр @Aleksandr_Boyko
Друзья помогите пожалуйста реализовать базу данных треков, наверняка кто то это уже делал!!! пользуюсь сервером hostinger. Вещаю программой радио босс!

89
Glueon @Glueon
Aleksandr.Boyko, все есть в документации. Внимательнее ее читайте или платите компетентному человеку!

89
Glueon @Glueon
Здесь настройки http-запроса:
HTTP запрос используется для отправки информации о проигрываемом треке на сайт. Может использоваться дл того, чтобы показывать название трека на сайте, вести историю и т.п.

Для использования HTTP запроса:
1. В разделе Отчеты в настройках включите "Использовать HTTP запрос". Если вы планируете использовать E-mail уведомления, щелкните "Настройки электронной почты... " и заполните SMTP-сервер электронной почты.
2. Нажмите [+] для добавления HTTP запроса (количество запросов может быть любым).
3. Появится окно с параметрами HTTP запроса.
Введите URL к скрипту на сайте и параметры вызова.

HTTP уведомления
Для уведомлений "Воспроизведения списка треков", вы должны заполнить поле URL-адрес, с необходимыми параметрами, например: DOMAIN/updatesonginfo.php?artist=%artist&title=%title

Кодировка зависит от того, что ваш сценарий принимает. UTF8 в большинстве случаев работает и не имеет проблем с международными символами.

Значения, которые можно использовать в HTTP запросе:
%artist - исполнитель
%title - название песни
%casttitle - название трека, которое отправляется на сервер
%album - название альбома
%year - год
%comment - комментарий
%genre - жанр
%len - продолжительность песни (мин:сек)
%seconds - продолжительность песни в секундах
%filename - имя файла трека без пути
%playcount - количество запусков трека
%listeners - количество слушателей (если идет интернет-вещание)

Для других типов уведомлений, используйте следующие параметры:
%msgtype - тип сообщения: server для сообщений о подключении/отключении к серверу; silence для сообщений обнаружения тишины и error для уведомлений об ошибках
%msgtext - текст сообщения

Уведомления по E-mail
Чтобы отправить уведомление на адрес электронной почты, введите адрес в поле URL-адрес/e-mail поле.

89
Glueon @Glueon
А здесь пример скрипта:
Инструкция: как вывести название трека, который играет в RadioBOSS на сайт.

1) На сайте создается скрипт, который будет принимать название от RadioBOSS. Пусть этот скрипт называется httpreq.php
Пример подобного скрипта:
<?php
//get artist/title info
$artist = $_GET['artist'];
$title = $_GET['title'];

//create a temp file to store values for AJAX script
$r = fopen("temp_title.txt", "w");
fwrite($r, $artist." - ".$title);
fclose($r);
?>

Этот скрипт принимает название трека от RadioBOSS и создает в той же папке файл temp_title.txt, в котором сохраняет принятую информацию. Этот файл будет позже использован для вывода названия на страницу.
2) В RadioBOSS в окне Настройки, раздел Отчеты, нужно включить опцию "Использовать HTTP запрос".
В поле нужно ввести адрес скрипта и необходимые параметры. Для примера:
ссылка
Здесь передаются параметры %artist и %title - исполнитель и название.
Возможные параметры:
%artist - исполнитель
%title - название
%album - альбом
%duration - длительность
%genre - жанр

89
Glueon @Glueon
Подробнее по скрипту: radioboss!ru + smf_ru + index.php?topic=995.0
! заменить на точку, + на слэш

P.S. Сорри за много постов, иначе было не обойти ограничения для новичков.

120
Александр @Aleksandr_Boyko
Glueon пишет:

Подробнее по скрипту: radioboss!ru + smf_ru + index.php?topic=995.0
! заменить на точку, + на слэш

P.S. Сорри за много постов, иначе было не обойти ограничения для новичков.

Дело в том что я уже научился выводить название треков)) осталась только история и база данных)) спасибо что откликнулись

410
Евгений @Drakkar
Glueon пишет:

Подробнее по скрипту: radioboss!ru + smf_ru + index.php?topic=995.0
! заменить на точку, + на слэш

P.S. Сорри за много постов, иначе было не обойти ограничения для новичков.

А вот скажите, в чем существенная (или не существенная) разница между способами вывода названия песен на сайт ? Ведь есть 2 способа.
Первый вы описали тут, а второй - собирать данные со страницы Icecast2 . RadioBoss отправляет метаданные на Icecast2 , а оттуда ты скриптом их забираешь и размещаешь у себя на сайте...

120
Александр @Aleksandr_Boyko
Drakkar пишет:

Glueon пишет:

Подробнее по скрипту: radioboss!ru + smf_ru + index.php?topic=995.0
! заменить на точку, + на слэш

P.S. Сорри за много постов, иначе было не обойти ограничения для новичков.

А вот скажите, в чем существенная (или не существенная) разница между способами вывода названия песен на сайт ? Ведь есть 2 способа.
Первый вы описали тут, а второй - собирать данные со страницы Icecast2 . RadioBoss отправляет метаданные на Icecast2 , а оттуда ты скриптом их забираешь и размещаешь у себя на сайте...

Я уже вывел название песни на сайт, осталась только история и база данных

41
veres @veres
1) Создайте базу данных MySQL допустим с именем PESNI

2) В ней создайте таблицу songs с полями ID Title Time (или выполните запрос)

CREATE TABLE IF NOT EXISTS `songs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Title` text CHARACTER SET utf8 NOT NULL,
`time` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM


3) В программе RadioBoss в разделе Отчеты в настройках включите "Использовать HTTP запрос" (чекбокс включить уведомления)
Добавляете уведомление в строке URL/e-mail пишите ********** (site.ru измените на свой домен)

4) Создайте файл updatesong.php со следующим содержимым

<?php

require('./adodb5/adodb.inc.php');
if (!empty($_GET["song"]))
{
$db=NewADOConnection('mysql');
$db->Connect('localhost','user1','password1','PESNI');

$db->debug=false;
$record['Title']=$_GET["song"];
$record['time']=date("Y-m-d H:i:s");
$insertSQL = $db->AutoExecute('songs', $record, 'INSERT');
$db->close();
echo "Received";

}

else { echo "ERROR"; }

?>


В этом файле в строке $db->Connect('localhost','user1','password1','PESNI'); замените имя пользователя и пароль на свои, а также название БД, если она у вас называется не PESNI


Сохраните и залейте файл updatesong.php в корневую папку вашего сайта.

5) Скачайте библиотеку adodb отсюда **********
Распакуйте архив... и папку adodb5 вместе со всем содержимым залейте в корневую папку с вашим сайтом

6) Теперь можно проверить добавляются ли записи в таблицу (запустите в RadioBoss на воспроизведение песню, затем откройте вашу таблицу songs в БД PESNI, например через phpMyAdmin, и проверьте, появилась ли запись в таблице. Если нет - значит на каком-то этапе вы допустили ошибку)

7) Теперь необходимо написать скрипт, который будет вытягивать записи из таблицы в нужном вам виде. К примеру самый простой, выводящий последние 10 треков может выглядеть так:

Создайте файл archive.php с содержимым:

<?php

require('./adodb5/adodb.inc.php');
$db=NewADOConnection('mysql');
$db->Connect('localhost','user1','password1','PESNI');
$db->debug=false;
$list=$db->GetAll("SELECT title FROM songs ORDER BY id DESC LIMIT 10");

foreach($list as $msg)
{
print $msg['title'];
}

$db->close();
?>



В этом файле в строке $db->Connect('localhost','user1','password1','PESNI'); замените имя пользователя и пароль на свои, а также название БД, если она у вас называется не PESNI

Сохраните и залейте файл archive.php в корневую папку вашего сайта.

8) Теперь в браузере перейдите на страницу ********** (site.ru измените на свой домен)
Если все сделано правильно, вы увидите последние 10 треков, которые были проиграны в RadioBoss

Конечно неплохо бы добавить на страницу с архивом песен календарь, в котором можно выбрать дату, и чтоб скрипт показал треки за эту дату, а еще лучше если можно выбрать и промежуток времени... + постраничный вывод результатов, если их много + соответствующее оформление... но это вы уже сами ))) Я привел лишь самый простой пример.

Отредактировано veres - 27.11.2014
410
Евгений @Drakkar
Veres, спасибо! Шикарный гайд. Обязательно протестируем.
А что касается добавление в страницу с архивом песен календарь, вот тут неплохо он реализован, не правда ли? **********

Отредактировано Drakkar - 28.11.2014
41
veres @veres
Мне больше нравится как здесь ********** ))

120
120
Александр @Aleksandr_Boyko
veres пишет:

1) Создайте базу данных MySQL допустим с именем PESNI

2) В ней создайте таблицу songs с полями ID Title Time (или выполните запрос)

CREATE TABLE IF NOT EXISTS `songs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Title` text CHARACTER SET utf8 NOT NULL,
`time` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM


3) В программе RadioBoss в разделе Отчеты в настройках включите "Использовать HTTP запрос" (чекбокс включить уведомления)
Добавляете уведомление в строке URL/e-mail пишите ********** (site.ru измените на свой домен)

4) Создайте файл updatesong.php со следующим содержимым

<?php

require('./adodb5/adodb.inc.php');
if (!empty($_GET["song"]))
{
$db=NewADOConnection('mysql');
$db->Connect('localhost','user1','password1','PESNI');

$db->debug=false;
$record['Title']=$_GET["song"];
$record['time']=date("Y-m-d H:i:s");
$insertSQL = $db->AutoExecute('songs', $record, 'INSERT');
$db->close();
echo "Received";

}

else { echo "ERROR"; }

?>


В этом файле в строке $db->Connect('localhost','user1','password1','PESNI'); замените имя пользователя и пароль на свои, а также название БД, если она у вас называется не PESNI


Сохраните и залейте файл updatesong.php в корневую папку вашего сайта.

5) Скачайте библиотеку adodb отсюда **********
Распакуйте архив... и папку adodb5 вместе со всем содержимым залейте в корневую папку с вашим сайтом

6) Теперь можно проверить добавляются ли записи в таблицу (запустите в RadioBoss на воспроизведение песню, затем откройте вашу таблицу songs в БД PESNI, например через phpMyAdmin, и проверьте, появилась ли запись в таблице. Если нет - значит на каком-то этапе вы допустили ошибку)

7) Теперь необходимо написать скрипт, который будет вытягивать записи из таблицы в нужном вам виде. К примеру самый простой, выводящий последние 10 треков может выглядеть так:

Создайте файл archive.php с содержимым:

<?php

require('./adodb5/adodb.inc.php');
$db=NewADOConnection('mysql');
$db->Connect('localhost','user1','password1','PESNI');
$db->debug=false;
$list=$db->GetAll("SELECT title FROM songs ORDER BY id DESC LIMIT 10");

foreach($list as $msg)
{
print $msg['title'];
}

$db->close();
?>



В этом файле в строке $db->Connect('localhost','user1','password1','PESNI'); замените имя пользователя и пароль на свои, а также название БД, если она у вас называется не PESNI

Сохраните и залейте файл archive.php в корневую папку вашего сайта.

8) Теперь в браузере перейдите на страницу ********** (site.ru измените на свой домен)
Если все сделано правильно, вы увидите последние 10 треков, которые были проиграны в RadioBoss

Конечно неплохо бы добавить на страницу с архивом песен календарь, в котором можно выбрать дату, и чтоб скрипт показал треки за эту дату, а еще лучше если можно выбрать и промежуток времени... + постраничный вывод результатов, если их много + соответствующее оформление... но это вы уже сами ))) Я привел лишь самый простой пример.

Где здесь писать ID Title Time **********

41
veres @veres
В phpMyAdmin зайдите в раздел "запрос по шаблону" и выполните SQL-запрос к базе данных

А лучше импортируйте этот SQL файл **********

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