XF 2.1 Радио виждетом

Статус
В этой теме нельзя размещать новые ответы.
Версия XenForo
2.1.3

levj3

Проверенные
Сообщения
68
Реакции
25
Баллы
720
Добрый вечер, переискал весь форум и не смог найти, как правильно установить радио в виджет. Радио не появлялось, либо вообще не работало. Не могли бы помочь с этой проблемой?
 
Переискал форумы и нашел какой-то код, переделав его, начал работать. Теперь задаюсь вопросом, как добавить в него плеер так, чтобы он не выходил из сайдбара? Сам код и скриншот:
HTML:
<div class="block-container" style="text-align:center;">
    <a href="поток" onclick="window.open('','popup','width=245,height=65,top=200,left=150,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0')" target="popup"><tooltip title="Название радио"><img src="картинка" max-width="32px" height="32px">
    </tooltip></a>
</div>
Безымянный.png

Или помогите фиксануть этот код. ☺
HTML:
<center> <!-- BEGINS: AUTO-GENERATED MUSES RADIO PLAYER CODE -->
<script type="text/javascript" src="ссылка js"></script>
<script type="text/javascript">
MRP.insert({
'url':'поток',
'codec':'mp3',
'volume':80,
'autoplay':false,
'buffering':5,
'title':'Название',
'welcome':'Сделай погромче!',
'wmode':'transparent',
'skin':'darkconsole',
'width':200,
'height':62
});
</script>
<!-- ENDS: AUTO-GENERATED MUSES RADIO PLAYER CODE --></center>
 
Последнее редактирование:
Интересный код, жаль бороться с ним некому сегодня :)

Попробуй так:
HTML:
<div class="audio-play">
  <a id="play-pause-button" class="fa fa-play"></a>
</div>
CSS:
.audio-play {
    display: block;
    position: relative;
    background: url(https://i4.imageban.ru/out/2019/07/11/3834eda42eb29fa74b7e8a981db8d7d7.jpg);
    background-size: cover;
    width: 250px;
    height: 250px;
    border: 1px solid #ccc;
}

#play-pause-button{
  font-size: 50px;
  color: rgba(231,44,49,.8);
  cursor: pointer;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
JavaScript:
var audio = new Audio("https://rusradio.hostingradio.ru/rusradio96.aacp");

$('#play-pause-button').on("click",function(){
  if($(this).hasClass('fa-play'))
   {
     $(this).removeClass('fa-play');
     $(this).addClass('fa-pause');
     audio.play();
   }
  else
   {
     $(this).removeClass('fa-pause');
     $(this).addClass('fa-play');
     audio.pause();
   }
});

audio.onended = function() {
     $("#play-pause-button").removeClass('fa-pause');
     $("#play-pause-button").addClass('fa-play');
};
 
Последнее редактирование модератором:
Ну можно все сунуть в виджет. Просто это радио не будет открываться в новом окне. Как бы сделать можно и по другому, для открытия window.open, по сути плеер для потока, простой html5 audio, для открытия в окне надо его сделать на странице, даже не обязательно страница ксена, просто html страничка и тогда
HTML:
<div class="block-container" style="text-align:center;">
    <a onclick="window.open('страница', 'radio', 'width=240, height=300, status=no, resizable=no, top=10, left=10');return false;" href="страница" target="_blank"><img src="картинка" width="32" height="32"></a>
</div>
Тот же плеер, что дал выше, сделать на странице, а кнопка из этого поста в виджет

Создаешь папку в корне форума radio, в ней файл radio.html с содержимым:
HTML:
<!DOCTYPE html>
<html>

<head>
    <title>Наше радио</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <style>
        .audio-play {
            display: block;
            position: relative;
            background: url(https://i4.imageban.ru/out/2019/07/11/3834eda42eb29fa74b7e8a981db8d7d7.jpg);
            background-size: cover;
            width: 250px;
            height: 250px;
            border: 1px solid #ccc;
        }

        #play-pause-button {
            font-size: 50px;
            color: rgba(231, 44, 49, .8);
            cursor: pointer;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }
    </style>
</head>

<body>
    <div class="audio-play">
        <a id="play-pause-button" class="fa fa-play"></a>
    </div>

    <script>
        var audio = new Audio("https://rusradio.hostingradio.ru/rusradio96.aacp");

        $('#play-pause-button').on("click",function(){
          if($(this).hasClass('fa-play'))
           {
             $(this).removeClass('fa-play');
             $(this).addClass('fa-pause');
             audio.play();
           }
          else
           {
             $(this).removeClass('fa-pause');
             $(this).addClass('fa-play');
             audio.pause();
           }
        });

        audio.onended = function() {
             $("#play-pause-button").removeClass('fa-pause');
             $("#play-pause-button").addClass('fa-play');
        };
    </script> 
</body>

</html>
Создаешь виджет HTML и в него:
HTML:
<div align="center">
    <a onclick="window.open('/radio/radio.html', 'radio', 'width=240, height=300, status=no, resizable=no, top=10, left=10');return false;" href="/radio/radio.html" target="_blank"><img src="картинка" width="32" height="32"></a>
</div>
параметры ширины, высоты и расположения окна, отрегулируешь и картинку конечно
 
Последнее редактирование модератором:
Да там на странице надо подключить font awesome и jquery, это ниже
Код:
<title>Наше радио</title>
вставить надо
Код:
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.10.2/css/fontawesome.min.css" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
 
Теперь в окне нужно нажимать на серединку, чтобы заработало радио. Возможно ли сделать так, чтобы ничего не открывалось в окне, а сразу на форуме запускалось в радио?
2.png
 
там фа не подключился, просто там кнопка пуск/пауза, запустил слушаешь, нажал на паузу остановил, зачем автоплей, не надо им увлекаться :) щас поправим иконки
 
там фа не подключился, просто там кнопка пуск/пауза, запустил слушаешь, нажал на паузу остановил, зачем автоплей, не надо им увлекаться :) щас поправим иконки
Почему автоплей? Возможно ли примерно так сделать?
1.png

P.S. Поставил так, как Вы написали снизу, появились иконки. Но всё же возможно ли сделать так, как я указал выше?
 
Последнее редактирование:
Замени
Код:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.10.2/css/fontawesome.min.css" />
на
Код:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />

Почему автоплей? Возможно ли примерно так сделать?
все там есть :) не умеешь читать и бежишь вперед паровоза :) просто не успеваю отвечать :)
 
Радио без директорий в корне и файлов.

В дереве узлов создаем страницу:
Часть URL-адреса: radio
дальше по желанию
снимаем галочки Отображать в списке узлов и ставим Расширенный режим
HTML-код шаблона:
HTML:
<xf:css>
    .p-staffBar, .p-header, .p-nav, .p-sectionLinks, .p-breadcrumbs, .p-body-header, .blockMessage, .p-footer {
        display: none;
    }
    .audio-play {
        display: block;
        position: relative;
        background: url(https://i4.imageban.ru/out/2019/07/11/3834eda42eb29fa74b7e8a981db8d7d7.jpg);
        background-size: cover;
        width: 250px;
        height: 250px;
        border: 1px solid #ccc;
    }

    #play-pause-button {
        font-size: 50px;
        color: rgba(231, 44, 49, .8);
        cursor: pointer;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
</xf:css>

<div class="audio-play">
    <a id="play-pause-button" class="fa fa-play"></a>
</div>

<xf:js>
    var audio = new Audio("https://rusradio.hostingradio.ru/rusradio96.aacp");

    $('#play-pause-button').on("click",function(){
        if($(this).hasClass('fa-play'))
        {
            $(this).removeClass('fa-play');
            $(this).addClass('fa-pause');
            audio.play();
        }
        else
        {
            $(this).removeClass('fa-pause');
            $(this).addClass('fa-play');
            audio.pause();
        }
    });

    audio.onended = function() {
        $("#play-pause-button").removeClass('fa-pause');
        $("#play-pause-button").addClass('fa-play');
    };
</xf:js>

В виджет:
HTML:
<div align="center">
    <a onclick="window.open('/pages/radio/', 'radio', 'width=270, height=300, status=no, resizable=no, top=10, left=10');return false;" href="/pages/radio/" target="_blank"><img src="https://imgholder.ru/240x80/8493a8/fff&text=РАДИО&font=bebas&fz=30"></a>
</div>
 
Первый вариант всё-же лучше был, но этот, который выше, более лёгкий.
Я так и не понял, как сделать радио не в открывающемся окне. То есть в том же сайдбаре нажать на картинку, музыка играет, второй раз нажать на картинку, музыка уже не играет. То же самое, что в открывающемся окне, только в сайдбаре.
 
Так просто код который я дал для страницы, HTML-код шаблона, вставить в виджет и все, но понимаешь, в сайдбаре включил, на другую страницу перешел и радио перестало работать, можно в модальном окне сделать, но будет тоже самое, модальное окно закроется, а в виндоус окне, радио будет висеть не зависимо от твоих переходов по страницам.
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу