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

Вывод играющего трека на Ucoz

 

120
Александр @Aleksandr_Boyko
Привет всем, кто может помочь?? мне нужен скрипт который выводит название играющего трека, без использования PHP, я использую хостинг ucoz а там в бесплатном тарифе PHP не поддерживается

888
Falcon @Falcon
Можно использовать Jquery и получить данные через JSON, но icecast должен уметь отдавать данные в таком формате.

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

Можно использовать Jquery и получить данные через JSON, но icecast должен уметь отдавать данные в таком формате.

free.radioheart.ru:8000/bvrfm вот ссылка на мой поток

888
Falcon @Falcon
Вот ваш вывод в JSON Формате: **********

120
Александр @Aleksandr_Boyko
простите за вопрос, а как установить на сайт) а то я в этом полный ламер

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

Вот ваш вывод в JSON Формате: **********

Пожалуйста помогите, очень нужно. Я весь гугл просмотрел, не нашёл точного определения как выводить на страницу

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

Falcon пишет:

Вот ваш вывод в JSON Формате: **********

Пожалуйста помогите, очень нужно. Я весь гугл просмотрел, не нашёл точного определения как выводить на страницу

Ну так что?? в ы поможите

89
Ok_go_love @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 и все вытекающие, либо платите кому-то за полноценную работу - иначе Вы каши не сварите.

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

Вот ваш вывод в JSON Формате: **********

а он отдает в формате jsonP??? или там задана поддержка Cross-origin resource sharing??

120
Александр @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 и все вытекающие, либо платите кому-то за полноценную работу - иначе Вы каши не сварите.

Блин, у меня ничего не получается

89
Ok_go_love @Ok_go_love
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 и все вытекающие, либо платите кому-то за полноценную работу - иначе Вы каши не сварите.

Блин, у меня ничего не получается

Напишите в ПМ, помогу Вам.

27
Михаил @Mihail_Aleksandrovic
Ребят, сделал сайт-форум на phpbb
Портал поддерживает вставку html и bb-коды.
Можно ли тоже как-то сгенерировать этот код с моего потока и где? Если есть у вас уже какой-то инструмент для этого -может сбросите мне?
**********
Вот сайтик, зайдите, оцените. Может что подскажите. **********

89
Ok_go_love @Ok_go_love
Mihail.Aleksandrovich пишет:

Ребят, сделал сайт-форум на phpbb
Портал поддерживает вставку html и bb-коды.
Можно ли тоже как-то сгенерировать этот код с моего потока и где? Если есть у вас уже какой-то инструмент для этого -может сбросите мне?
**********
Вот сайтик, зайдите, оцените. Может что подскажите. **********

Читайте про формат JSON.
Данные по Вашему маунту можете получить тут **********

27
Михаил @Mihail_Aleksandrovic
Тогда такой вопрос... А есть этот JSON в виде готового встраиваемого модуля на форум? Мне можно два варианта- либо создать в ручную произвольный блок на портале, где вставить код этого самого... json-парсера, либо может быть кто-то в курсеуже,и есть готовые написанные заточенные модули для форумов на phpbb, где в настройках останется только внести все эти данные?
Я конечно поспрашиваю ещё у шарящих людей,кто эти форумы собирает,но сомневаюсь,что мне быстро кто-то ответит. Скорее всего там большинство вообще не в курсе,для чего это нужно.

Отредактировано Mihail_Aleksandrovic - 16.11.2014
382
Grigorij @gyurgin_1
Пожалуй проще сделать и показать.
Для начала договоримся - на странице со скриптом подключен 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 формате и есть толька страница потока доступная по адресу: **********
Для пользователей обычного 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">.
Как видите все просто и ясно. Вопросов по идее не должно быть, но если что - задавайте.

888
Falcon @Falcon

$.ajax({
url: 'http://сервер:порт/status.xsl?mount=/поток',


Вот тут могут быть проблемы. AJAX только на одном домене будет работать. Если домены разные, что в случае с хостером так и есть, работать не будет.

68
Алексей @features
Через ajax можно сделать кросдоменный запрос.
**********

Отредактировано features - 20.11.2014
382
Grigorij @gyurgin_1
Натурально, как то я совсем забыл, если никто не дополнит попытаюсь вспомнить как решал, выложу тогда.

888
Falcon @Falcon
features пишет:

Через ajax можно сделать кросдоменный запрос.
**********

Можно, не спорю, просто из "коробки" нельзя. Я это имел в виду. Придется колдовать)