ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
7   •   Посмотреть все темы

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

 

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

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

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

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

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

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

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

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

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

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

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

Falcon пишет:

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

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

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

0
89
Ok_go_love @Ok_go_love
Мягко намекну (при наличии jQuery на сайте)
  1. $.getJSON(http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm', function(data){
  2. s = '';
  3. $.each(data, function(val) {
  4. s = s + "<li class='nexttracks'>" + val + '</li><br />'
  5. })
  6. $('.nexttracks-block').html(s);
  7. });

Сей код запрашивает данные в формате JSON, каждое полученное значение оборачивает в тег <li> и помещает в блок с классом .nexttracks-block.
Дальше сами.
Вообще либо учите js и все вытекающие, либо платите кому-то за полноценную работу - иначе Вы каши не сварите.

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

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

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

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

Мягко намекну (при наличии jQuery на сайте)
  1. $.getJSON(http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm', function(data){
  2. s = '';
  3. $.each(data, function(val) {
  4. s = s + "<li class='nexttracks'>" + val + '</li><br />'
  5. })
  6. $('.nexttracks-block').html(s);
  7. });

Сей код запрашивает данные в формате JSON, каждое полученное значение оборачивает в тег <li> и помещает в блок с классом .nexttracks-block.
Дальше сами.
Вообще либо учите js и все вытекающие, либо платите кому-то за полноценную работу - иначе Вы каши не сварите.

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

0
89
Ok_go_love @Ok_go_love
Aleksandr.Boyko пишет:

Ok_go_love пишет:

Мягко намекну (при наличии jQuery на сайте)
  1. $.getJSON(http://free.radioheart.ru:8000/json.xsl?mount=/bvrfm', function(data){
  2. s = '';
  3. $.each(data, function(val) {
  4. s = s + "<li class='nexttracks'>" + val + '</li><br />'
  5. })
  6. $('.nexttracks-block').html(s);
  7. });

Сей код запрашивает данные в формате JSON, каждое полученное значение оборачивает в тег <li> и помещает в блок с классом .nexttracks-block.
Дальше сами.
Вообще либо учите js и все вытекающие, либо платите кому-то за полноценную работу - иначе Вы каши не сварите.

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

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

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

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

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

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

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

Отредактировано Mihail_Aleksandrovic - 16.11.2014
0
382
Grigorij @gyurgin_1
Пожалуй проще сделать и показать.
Для начала договоримся - на странице со скриптом подключен Jquery, что, как и почему ищем сами, но на всякий случай в первом примере я покажу как должна выглядеть страница полностью, в следующих листингах будет только функция.
Ни для кого не секрет что до последнего времени у пользователей icecast не было под рукой какого-либо стандартного (общего для всех) инструмента для вывода данных в формате JSON, на серверной стороне каждый делал по своему, обмен скриптами поэтому был затруднен.
С выходом icecast 2.4 у нас появилась возможность воспользоваться выводом status-json.xsl, что значительно упростило всем жизнь))
Итак, для тех, у кого icecast версии 2.4 и выше,а так же для тех пользователей icecast KH которые самостоятельно добавили в webroot сервера файлы status-json.xsl и xml2json.xsl, первый пример (для предельной ясности использовал адрес вывода топикстартера).
  1. <html>
  2. <head>
  3. <meta charset="UTF-8">
  4. <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'></script>
  5. <script>
  6. function show_station_title() {
  7. $.getJSON('http://free.radioheart.ru:8000/status-json.xsl?mount=/bvrfm', function(data) {
  8. $('.track_title').html(data.icestats.source.title);
  9. })
  10. }
  11. $(document).ready(function() {
  12. show_station_title();
  13. setInterval('show_station_title()', 3000)
  14. });
  15. </script>
  16. </head>
  17. <body>
  18. <div class='track_title'></div>
  19. </body>
  20. </html>

Надеюсь что, к чему и почему разжевывать не надо, остается добавить, что в зависимости от реальных условий строка
  1. $('.track_title').html(data.icestats.source.title);
может меняться на
  1. $('.track_title').html(data.icestats.source.artist + ' - ' + data.icestats.source.title);
или например
  1. $('.track_title').html(data.icestats.source.yp_currently_playing);
, думаю суть изменений понятна.
Теперь примеры для тех кому не повезло, хостер не может или не хочет делать вывод в JSON формате и есть толька страница потока доступная по адресу: **********
Для пользователей обычного icecast сервера:
  1. function show_station_title() {
  2. $.ajax({
  3. url: 'http://сервер:порт/status.xsl?mount=/поток',
  4. cache: false,
  5. success: function(data) {
  6. $(data).find('tr').each(function() {
  7. if ($(this).text().indexOf('Currently playing:') + 1) {
  8. $('.track_title').html($(this).find('.streamstats').text());
  9. }
  10. })
  11. }
  12. })
  13. }
.
Для icecast KH:
  1. function show_station_title() {
  2. $.ajax({
  3. url: 'http://сервер:порт/status.xsl?mount=/поток',
  4. cache: false,
  5. success: function(data) {
  6. $(data).find('tr').each(function() {
  7. if ($(this).text().indexOf('Current Song:') + 1) {
  8. $('.track_title').html($(this).find('.streamdata').text());
  9. }
  10. })
  11. }
  12. })
  13. }

У кого icecast KH и русский веб интерфейс:
  1. function show_station_title() {
  2. $.ajax({
  3. url: 'http://сервер:порт/status.xsl?mount=/поток',
  4. cache: false,
  5. success: function(data) {
  6. $(data).find('tr').each(function() {
  7. if ($(this).text().indexOf('Сейчас играет:') + 1) {
  8. $('.track_title').html($(this).find('.streamdata').text());
  9. }
  10. })
  11. }
  12. })
  13. }
, кстати не завелся пока не добавил <meta charset="UTF-8">.
Как видите все просто и ясно. Вопросов по идее не должно быть, но если что - задавайте.

1
888
Falcon @Falcon

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


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

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

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

0
888
Falcon @Falcon
features пишет:

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

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

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.