Тема: Вывод играющего трека на Ucoz
Привет всем, кто может помочь?? мне нужен скрипт который выводит название играющего трека, без использования PHP, я использую хостинг ucoz а там в бесплатном тарифе PHP не поддерживается
Первый русскоязычный форум посвященный интернет-радиовещанию
Форум интернет радио Icecast и Shoutcast → Общие вопросы по интернет радио вещанию → Вывод играющего трека на Ucoz
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Привет всем, кто может помочь?? мне нужен скрипт который выводит название играющего трека, без использования PHP, я использую хостинг ucoz а там в бесплатном тарифе PHP не поддерживается
Можно использовать Jquery и получить данные через JSON, но icecast должен уметь отдавать данные в таком формате.
пишет Falcon:
Можно использовать Jquery и получить данные через JSON, но icecast должен уметь отдавать данные в таком формате.
free.radioheart.ru:8000/bvrfm вот ссылка на мой поток
Вот ваш вывод в JSON Формате: http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm
простите за вопрос, а как установить на сайт) а то я в этом полный ламер
Отредактировано Aleksandr.Boyko (03-10-2014 21:07:18)
пишет Falcon:
Вот ваш вывод в JSON Формате: http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm
Пожалуйста помогите, очень нужно. Я весь гугл просмотрел, не нашёл точного определения как выводить на страницу
пишет Aleksandr.Boyko:
пишет Falcon:
Вот ваш вывод в JSON Формате: http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm
Пожалуйста помогите, очень нужно. Я весь гугл просмотрел, не нашёл точного определения как выводить на страницу
Ну так что?? в ы поможите
Мягко намекну (при наличии jQuery на сайте)
$.getJSON(http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm', function(data){
s = '';
$.each(data, function(val) {
s = s + "<li class='nexttracks'>" + val + '</li><br />'
})
$('.nexttracks-block').html(s);
});
Сей код запрашивает данные в формате JSON, каждое полученное значение оборачивает в тег <li> и помещает в блок с классом .nexttracks-block.
Дальше сами.
Вообще либо учите js и все вытекающие, либо платите кому-то за полноценную работу - иначе Вы каши не сварите.
Отредактировано Ok_go_love (07-10-2014 08:09:14)
пишет Falcon:
Вот ваш вывод в JSON Формате: http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm
а он отдает в формате jsonP??? или там задана поддержка Cross-origin resource sharing??
пишет Ok_go_love:
Мягко намекну (при наличии jQuery на сайте)
$.getJSON(http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm', function(data){ s = ''; $.each(data, function(val) { s = s + "<li class='nexttracks'>" + val + '</li><br />' }) $('.nexttracks-block').html(s); });
Сей код запрашивает данные в формате JSON, каждое полученное значение оборачивает в тег <li> и помещает в блок с классом .nexttracks-block.
Дальше сами.
Вообще либо учите js и все вытекающие, либо платите кому-то за полноценную работу - иначе Вы каши не сварите.
Блин, у меня ничего не получается
пишет Aleksandr.Boyko:
пишет Ok_go_love:
Мягко намекну (при наличии jQuery на сайте)
$.getJSON(http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm', function(data){ s = ''; $.each(data, function(val) { s = s + "<li class='nexttracks'>" + val + '</li><br />' }) $('.nexttracks-block').html(s); });
Сей код запрашивает данные в формате JSON, каждое полученное значение оборачивает в тег <li> и помещает в блок с классом .nexttracks-block.
Дальше сами.
Вообще либо учите js и все вытекающие, либо платите кому-то за полноценную работу - иначе Вы каши не сварите.Блин, у меня ничего не получается
Напишите в ПМ, помогу Вам.
Ребят, сделал сайт-форум на phpbb
Портал поддерживает вставку html и bb-коды.
Можно ли тоже как-то сгенерировать этот код с моего потока и где? Если есть у вас уже какой-то инструмент для этого -может сбросите мне?
http://free.radioheart.ru:8000/MegaFM
Вот сайтик, зайдите, оцените. Может что подскажите. http://on33.tk/
пишет Mihail.Aleksandrovich:
Ребят, сделал сайт-форум на phpbb
Портал поддерживает вставку html и bb-коды.
Можно ли тоже как-то сгенерировать этот код с моего потока и где? Если есть у вас уже какой-то инструмент для этого -может сбросите мне?
http://free.radioheart.ru:8000/MegaFM
Вот сайтик, зайдите, оцените. Может что подскажите. http://on33.tk/
Читайте про формат JSON.
Данные по Вашему маунту можете получить тут http://free.radioheart.ru:8000/status-j … nt=/MegaFM
Тогда такой вопрос... А есть этот JSON в виде готового встраиваемого модуля на форум? Мне можно два варианта- либо создать в ручную произвольный блок на портале, где вставить код этого самого... json-парсера, либо может быть кто-то в курсеуже,и есть готовые написанные заточенные модули для форумов на phpbb, где в настройках останется только внести все эти данные?
Я конечно поспрашиваю ещё у шарящих людей,кто эти форумы собирает,но сомневаюсь,что мне быстро кто-то ответит. Скорее всего там большинство вообще не в курсе,для чего это нужно.
Отредактировано Mihail.Aleksandrovich (16-11-2014 18:25:34)
Пожалуй проще сделать и показать.
Для начала договоримся - на странице со скриптом подключен Jquery, что, как и почему ищем сами, но на всякий случай в первом примере я покажу как должна выглядеть страница полностью, в следующих листингах будет только функция.
Ни для кого не секрет что до последнего времени у пользователей icecast не было под рукой какого-либо стандартного (общего для всех) инструмента для вывода данных в формате JSON, на серверной стороне каждый делал по своему, обмен скриптами поэтому был затруднен.
С выходом icecast 2.4 у нас появилась возможность воспользоваться выводом status-json.xsl, что значительно упростило всем жизнь))
Итак, для тех, у кого icecast версии 2.4 и выше,а так же для тех пользователей icecast KH которые самостоятельно добавили в webroot сервера файлы status-json.xsl и xml2json.xsl, первый пример (для предельной ясности использовал адрес вывода топикстартера).
<html>
<head>
<meta charset="UTF-8">
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'></script>
<script>
function show_station_title() {
$.getJSON('http://free.radioheart.ru:8000/status-json.xsl?mount=/bvrfm', function(data) {
$('.track_title').html(data.icestats.source.title);
})
}
$(document).ready(function() {
show_station_title();
setInterval('show_station_title()', 3000)
});
</script>
</head>
<body>
<div class='track_title'></div>
</body>
</html>
Надеюсь что, к чему и почему разжевывать не надо, остается добавить, что в зависимости от реальных условий строка
$('.track_title').html(data.icestats.source.title);
может меняться на
$('.track_title').html(data.icestats.source.artist + ' - ' + data.icestats.source.title);
или например
$('.track_title').html(data.icestats.source.yp_currently_playing);
, думаю суть изменений понятна.
Теперь примеры для тех кому не повезло, хостер не может или не хочет делать вывод в JSON формате и есть толька страница потока доступная по адресу: http://сервер:порт/status.xsl?mount=/поток.
Для пользователей обычного icecast сервера:
function show_station_title() {
$.ajax({
url: 'http://сервер:порт/status.xsl?mount=/поток',
cache: false,
success: function(data) {
$(data).find('tr').each(function() {
if ($(this).text().indexOf('Currently playing:') + 1) {
$('.track_title').html($(this).find('.streamstats').text());
}
})
}
})
}
.
Для icecast KH:
function show_station_title() {
$.ajax({
url: 'http://сервер:порт/status.xsl?mount=/поток',
cache: false,
success: function(data) {
$(data).find('tr').each(function() {
if ($(this).text().indexOf('Current Song:') + 1) {
$('.track_title').html($(this).find('.streamdata').text());
}
})
}
})
}
У кого icecast KH и русский веб интерфейс:
function show_station_title() {
$.ajax({
url: 'http://сервер:порт/status.xsl?mount=/поток',
cache: false,
success: function(data) {
$(data).find('tr').each(function() {
if ($(this).text().indexOf('Сейчас играет:') + 1) {
$('.track_title').html($(this).find('.streamdata').text());
}
})
}
})
}
, кстати не завелся пока не добавил <meta charset="UTF-8">.
Как видите все просто и ясно. Вопросов по идее не должно быть, но если что - задавайте.
$.ajax({ url: 'http://сервер:порт/status.xsl?mount=/поток',
Вот тут могут быть проблемы. AJAX только на одном домене будет работать. Если домены разные, что в случае с хостером так и есть, работать не будет.
Через ajax можно сделать кросдоменный запрос.
https://developer.mozilla.org/en-US/doc … ntrol_CORS
Отредактировано features (20-11-2014 12:03:24)
Натурально, как то я совсем забыл, если никто не дополнит попытаюсь вспомнить как решал, выложу тогда.
пишет features:
Через ajax можно сделать кросдоменный запрос.
https://developer.mozilla.org/en-US/doc … ntrol_CORS
Можно, не спорю, просто из "коробки" нельзя. Я это имел в виду. Придется колдовать)
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форум интернет радио Icecast и Shoutcast → Общие вопросы по интернет радио вещанию → Вывод играющего трека на Ucoz