MainRadiotalkCustom
Технологии вещания, софт, скрипты
3   •   Посмотреть все темы

Вывод трека на сайт Icecast 2.3.2 + Joomla 2.5

 

4
radiogold @radiogold
Привет, форумчане!

Подскажите пожалуйста как организовать вывод названия текущей песни на сайт?

Вещание идет через IceCast 2.3.2 по адресу [url]188.68.93.246:8000/radio1.m3u[/url]

Организовал поток на сайте Joomla 2.5 простым тегом <audio> обычным html5 плеером, все работает даже на смартфонах, возник вопрос вывода названия трека.

Посмотрел тему ********** , но после добавления файлов status-json.xsl и xml2json.xslt в веб директорию IceCast вещание вообще пропадает.

Кто сталкивался, отзовитесь!?

Отредактировано radiogold - 16.03.2017
419
gyurgin_ @gyurgin_
А чего icecast 2.3.2, это что, прикол такой - пятилетнией давности софт использовать?

4
radiogold @radiogold
gyurgin_ пишет:

А чего icecast 2.3.2, это что, прикол такой - пятилетнией давности софт использовать?


Как поставили 5 лет назад, так и не трогали. А по существу можно ответ?

419
gyurgin_ @gyurgin_
А что по существу - то, обновлять надо, а не натягивать с нового вебрута файлы.
А выход вот Вам самый простой, берете, режете из оригинального статусного например вот такую хрень:
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output method="xml" media-type="text/html" indent="yes" encoding="UTF-8"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" />
<xsl:template match = "/icestats" >
<xsl:for-each select="source">
<xsl:if test="artist"><xsl:value-of select="artist" /> - </xsl:if><xsl:value-of select="title" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
сохраняете в вабрут айскаста скажем как title.xsl.
Обращиетесь к нему так: <ip icecast><port>/title.xsl?mount=/<нужный поток>.

4
radiogold @radiogold
gyurgin_ пишет:

А что по существу - то, обновлять надо, а не натягивать с нового вебрута файлы.
А выход вот Вам самый простой, берете, режете из оригинального статусного например вот такую хрень:
сохраняете в вабрут айскаста скажем как title.xsl.
Обращиетесь к нему так: <ip icecast><port>/title.xsl?mount=/<нужный поток>.

title.xsl в web директорию сохранил. Поробовал перейти 188.68.93.246:8000/title.xsl - на чистой странице показывает Исполнителя и Название песни .

А вот что со вторым кодом <ip icecast><port>/title.xsl?mount=/<нужный поток> что делать? Объясните пожалуйста подробнее? Я в кодах не силен, буду очень признателен если поможете

419
gyurgin_ @gyurgin_
Да никакой это не код, вот так будете забирать данные с потоков **********.
Ну а дальше как удобно так и отображайте на сайте.

4
radiogold @radiogold
gyurgin_ пишет:

Да никакой это не код, вот так будете забирать данные с потоков **********.
Ну а дальше как удобно так и отображайте на сайте.

Спасибо, понял. Ок, как обычно методом "научного тыка" разобрался, что в джумле нужно создать модуль типа Wrapper и воткнуть туда ссылку на поток вида 188.68.93.246:8000/title.xsl.
Вывод исполнителя и названия трека заработал, но при смене композиции текст не меняется. Хотелось бы настроить вывод динамически, при смене трека должен меняться и текст.

419
gyurgin_ @gyurgin_
Вот опять эта joomla, я думал уже не пользуется никто, надо в шаблон добавить скрипт, в начале сами же показывали тему, что-то типо этого:

<script>
var timeout = 5; // интервал обновления информации в секундах
function getStats(){
$.ajax({
url: "http://1188.68.93.246:8000/title.xsl",
success: function( response ) {
$('#song-title').text(response)
}
});
}
getStats();
setInterval(getStats, timeout * 1000);
</script>

Понятное дело, в нужном месте лепите контейнер <div id="song-title"></div>
Ну и про jquery не забудьте конечно.