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

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

2

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

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

http://radioheart.ru/banners/radioheart_400x40_banner.jpg
RadioHeart.ru: Функциональный радио хостинг с автодиджеем и нонстопом, а так же быстрый виртуальный хостинг. Возможность создать радио за 5 минут, подключить автодиджей и нонстоп.
Отзывы о хостинге

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

Falcon пишет:

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

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

4

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

Вот ваш вывод в JSON Формате: http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm

http://radioheart.ru/banners/radioheart_400x40_banner.jpg
RadioHeart.ru: Функциональный радио хостинг с автодиджеем и нонстопом, а так же быстрый виртуальный хостинг. Возможность создать радио за 5 минут, подключить автодиджей и нонстоп.
Отзывы о хостинге

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

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

Отредактировано Aleksandr.Boyko (03-10-2014 21:07:18)

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

Falcon пишет:

Вот ваш вывод в JSON Формате: http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm

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

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

Aleksandr.Boyko пишет:
Falcon пишет:

Вот ваш вывод в JSON Формате: http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm

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

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

8

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

Мягко намекну (при наличии 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)

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

Falcon пишет:

Вот ваш вывод в JSON Формате: http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm

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

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

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

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

11

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

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

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

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

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

Ребят, сделал сайт-форум на phpbb
Портал поддерживает вставку html и bb-коды.
Можно ли тоже как-то сгенерировать этот код с моего потока и где? Если есть у вас уже какой-то инструмент для этого -может сбросите мне?
http://free.radioheart.ru:8000/MegaFM
Вот сайтик, зайдите, оцените. Может что подскажите. http://on33.tk/

13

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

Mihail.Aleksandrovich пишет:

Ребят, сделал сайт-форум на phpbb
Портал поддерживает вставку html и bb-коды.
Можно ли тоже как-то сгенерировать этот код с моего потока и где? Если есть у вас уже какой-то инструмент для этого -может сбросите мне?
http://free.radioheart.ru:8000/MegaFM
Вот сайтик, зайдите, оцените. Может что подскажите. http://on33.tk/

Читайте про формат JSON.
Данные по Вашему маунту можете получить тут http://free.radioheart.ru:8000/status-j … nt=/MegaFM

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

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

Отредактировано Mihail.Aleksandrovich (16-11-2014 18:25:34)

15

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

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

16

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

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

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

http://radioheart.ru/banners/radioheart_400x40_banner.jpg
RadioHeart.ru: Функциональный радио хостинг с автодиджеем и нонстопом, а так же быстрый виртуальный хостинг. Возможность создать радио за 5 минут, подключить автодиджей и нонстоп.
Отзывы о хостинге

17

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

Через ajax можно сделать кросдоменный запрос.
https://developer.mozilla.org/en-US/doc … ntrol_CORS

Отредактировано features (20-11-2014 12:03:24)

18

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

Натурально, как то я совсем забыл, если никто не дополнит попытаюсь вспомнить как решал, выложу тогда.

19

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

features пишет:

Через ajax можно сделать кросдоменный запрос.
https://developer.mozilla.org/en-US/doc … ntrol_CORS

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

http://radioheart.ru/banners/radioheart_400x40_banner.jpg
RadioHeart.ru: Функциональный радио хостинг с автодиджеем и нонстопом, а так же быстрый виртуальный хостинг. Возможность создать радио за 5 минут, подключить автодиджей и нонстоп.
Отзывы о хостинге