Тема: Вывод истории треков
Помогите реализовать вывод 5 треков которые уже были в эфире)) free.radioheart.ru:8000/bvrfm - вот мой поток
Первый русскоязычный форум посвященный интернет-радиовещанию
Помогите реализовать вывод 5 треков которые уже были в эфире)) free.radioheart.ru:8000/bvrfm - вот мой поток
пишет gyurgin_1:
А чем вещаем, что и как нам опять угадывать?
Да нет, угадывать не нужно, вещаю радиобоссом. Просто думал что это не так важно
Раньше вещал Джин лайтом, но мне показался радиоБосс более удобным и практичным, решил использовать его
Отредактировано Aleksandr.Boyko (21-11-2014 15:07:06)
Можно в настройках Босса указать, чтоб делался http GET-запрос. Таким образом можете добавлять все проигранные треки в базу MySQL - и выводить их на сайт в каком либо виде, хоть 5, хоть 25... с сортировкой по дате, с поиском по базе по времени и т.д.
Отредактировано veres (21-11-2014 20:34:22)
пишет veres:
Можно в настройках Босса указать, чтоб делался http GET-запрос. Таким образом можете добавлять все проигранные треки в базу MySQL - и выводить их на сайт в каком либо виде, хоть 5, хоть 25... с сортировкой по дате, с поиском по базе по времени и т.д.
Если вам не сложно, помогите это реализовать, я только начал этим заниматься, и ещё не всё знаю
Друзья помогите пожалуйста реализовать базу данных треков, наверняка кто то это уже делал!!! пользуюсь сервером hostinger. Вещаю программой радио босс!
Здесь настройки 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 поле.
А здесь пример скрипта:
Инструкция: как вывести название трека, который играет в 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 - жанр
пишет Glueon:
Подробнее по скрипту: radioboss!ru + smf_ru + index.php?topic=995.0
! заменить на точку, + на слэшP.S. Сорри за много постов, иначе было не обойти ограничения для новичков.
Дело в том что я уже научился выводить название треков)) осталась только история и база данных)) спасибо что откликнулись
пишет Glueon:
Подробнее по скрипту: radioboss!ru + smf_ru + index.php?topic=995.0
! заменить на точку, + на слэшP.S. Сорри за много постов, иначе было не обойти ограничения для новичков.
А вот скажите, в чем существенная (или не существенная) разница между способами вывода названия песен на сайт ? Ведь есть 2 способа.
Первый вы описали тут, а второй - собирать данные со страницы Icecast2 . RadioBoss отправляет метаданные на Icecast2 , а оттуда ты скриптом их забираешь и размещаешь у себя на сайте...
пишет Drakkar:
пишет Glueon:
Подробнее по скрипту: radioboss!ru + smf_ru + index.php?topic=995.0
! заменить на точку, + на слэшP.S. Сорри за много постов, иначе было не обойти ограничения для новичков.
А вот скажите, в чем существенная (или не существенная) разница между способами вывода названия песен на сайт ? Ведь есть 2 способа.
Первый вы описали тут, а второй - собирать данные со страницы Icecast2 . RadioBoss отправляет метаданные на Icecast2 , а оттуда ты скриптом их забираешь и размещаешь у себя на сайте...
Я уже вывел название песни на сайт, осталась только история и база данных
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 пишите http://site.ru/updatesong.php?song=%casttitle (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 отсюда http://sourceforge.net/projects/adodb/f … php5-only/
Распакуйте архив... и папку 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) Теперь в браузере перейдите на страницу http://site.ru/archive.php (site.ru измените на свой домен)
Если все сделано правильно, вы увидите последние 10 треков, которые были проиграны в RadioBoss
Конечно неплохо бы добавить на страницу с архивом песен календарь, в котором можно выбрать дату, и чтоб скрипт показал треки за эту дату, а еще лучше если можно выбрать и промежуток времени... + постраничный вывод результатов, если их много + соответствующее оформление... но это вы уже сами ))) Я привел лишь самый простой пример.
Отредактировано veres (28-11-2014 00:44:18)
Veres, спасибо! Шикарный гайд. Обязательно протестируем.
А что касается добавление в страницу с архивом песен календарь, вот тут неплохо он реализован, не правда ли? http://radiorecord.fm/playlist
Отредактировано Drakkar (28-11-2014 07:40:04)
Мне больше нравится как здесь http://www.kissfm.ua/playlist ))
пишет 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 пишите http://site.ru/updatesong.php?song=%casttitle (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 отсюда http://sourceforge.net/projects/adodb/f … php5-only/
Распакуйте архив... и папку 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) Теперь в браузере перейдите на страницу http://site.ru/archive.php (site.ru измените на свой домен)
Если все сделано правильно, вы увидите последние 10 треков, которые были проиграны в RadioBossКонечно неплохо бы добавить на страницу с архивом песен календарь, в котором можно выбрать дату, и чтоб скрипт показал треки за эту дату, а еще лучше если можно выбрать и промежуток времени... + постраничный вывод результатов, если их много + соответствующее оформление... но это вы уже сами ))) Я привел лишь самый простой пример.
Где здесь писать ID Title Time http://brfm.at.ua/2014-11-28_132212.jpg
В phpMyAdmin зайдите в раздел "запрос по шаблону" и выполните SQL-запрос к базе данных
А лучше импортируйте этот SQL файл http://www.ex.ua/530485092974
Отредактировано veres (28-11-2014 17:22:41)
пишет veres:
В phpMyAdmin зайдите в раздел "запрос по шаблону" и выполните SQL-запрос к базе данных
А лучше импортируйте этот SQL файл http://www.ex.ua/530485092974
cделал всё как вы сказали, но запись не производиться и в http://brfmplayer.zz.mu/updatesong.php ERROR
Это содержимое скриптов
<?php
require('./adodb5/adodb.inc.php');
if (!empty($_GET["song"]))
{
$db=NewADOConnection('mysql');
$db->Connect('localhost','u449949546_pesni','25945852','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"; }
?>
и вот второй
<?php
require('./adodb5/adodb.inc.php');
$db=NewADOConnection('mysql');
$db->Connect('localhost','u449949546_pesni','25945852','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();
?>
У вас ошибка
Missing file: /home/u449949546/public_html/adodb5/drivers/adodb-mysql.inc.php
ADONewConnection: Unable to load database driver ''
Fatal error: Call to a member function Connect() on a non-object in /home/u449949546/public_html/updatesong.php on line 7
Вы закачали adodb???
в папке adodb5/drivers/ есть файл adodb-mysql.inc.php ???
Отредактировано veres (28-11-2014 18:06:23)
пишет veres:
У вас ошибка
Missing file: /home/u449949546/public_html/adodb5/drivers/adodb-mysql.inc.php
ADONewConnection: Unable to load database driver ''
Fatal error: Call to a member function Connect() on a non-object in /home/u449949546/public_html/updatesong.php on line 7
Вы закачали adodb???
в папке adodb5/drivers/ есть файл adodb-mysql.inc.php ???
да закачал http://brfmplayer.zz.mu/adodb5/
Вы не все закачали, что было в папке adodb5
Конкретно в папке drivers у вас нет файла adodb-mysql.inc и неизвестно, что вы еще не докачали.
Скачал всё снова, разархивировал архив( в архиве была одна папка adodb5) её через FTP залил на сайт http://brfmplayer.zz.mu/adodb5/ вот файл http://brfmplayer.zz.mu/adodb5/drivers/ … ql.inc.php но всё равно ошибка