Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Вопрос? Как воспроизвести m3u8?

Тема в разделе "Вопросы- ответы", создана пользователем ABSOLUTE0302, 29 янв 2026.

29.01.26 в 12:55
01.02.26 в 17:12
6
753
0
  1. TopicStarter Overlay
    ABSOLUTE0302

    ABSOLUTE0302 Посетитель

    Регистрация:
    3 авг 2022
    Сообщения:
    75
    Лучших ответов:
    0
    Рейтинги:
    +4 / 9 / -0
    Доброго дня! Уважаемые подскажите пожалуйста как воспроизвести в аудиоплеере m3u8 на DLE 15.0?

    В общем у меня сайт с радиостанциями и почему то плеер не воспроизводит ссылки на подобие
    Код:
    https://hls-01-dfm.hostingradio.ru/dfm/96/playlist.m3u8
    Буду благодарен за помощь!
     
  2. Jo0k

    Jo0k Бывалый

    Регистрация:
    5 фев 2019
    Сообщения:
    146
    Лучших ответов:
    1
    Рейтинги:
    +87 / 11 / -0
    PlayerJS - Build Your Own HTML5 Player например для проигрывания m3u8 плейлистов, ставишь его на сайт и всё будет работать
     
  3. TopicStarter Overlay
    ABSOLUTE0302

    ABSOLUTE0302 Посетитель

    Регистрация:
    3 авг 2022
    Сообщения:
    75
    Лучших ответов:
    0
    Рейтинги:
    +4 / 9 / -0
    Дело в том что в шаблоне уже есть аудиоплеер, то есть купил музыкальный шаблон
     
  4. LMakc

    Команда форума VIP Кинотрафик v2

    Регистрация:
    31 мар 2015
    Сообщения:
    997
    Лучших ответов:
    2
    Рейтинги:
    +403 / 14 / -0
    Ну значит доработать тот плеер что есть в шаблоне
     
  5. Kandi

    Kandi Бывалый

    Регистрация:
    19 апр 2019
    Сообщения:
    593
    Лучших ответов:
    1
    Рейтинги:
    +121 / 43 / -0
    ABSOLUTE0302 судя по всему, лучше найти человека, кто сделает платно, потому что с вашей стороны конкретики нет: что вы делали и что у вас не получилось, а без этого помочь сложно
     
    • Согласен Согласен x 1
  6. TopicStarter Overlay
    ABSOLUTE0302

    ABSOLUTE0302 Посетитель

    Регистрация:
    3 авг 2022
    Сообщения:
    75
    Лучших ответов:
    0
    Рейтинги:
    +4 / 9 / -0
    Нашел подобный код и очень странно, на одном музыкальном шаблоне работает отлично если его подключить в main.tpl а на другом шаблоне не работает


    Код:
    (function () {
      var HLS_CDN = 'https://cdn.jsdelivr.net/npm/[email protected]/dist/hls.min.js';
      var hls = null;
    
      function isM3U8(u) {
        return typeof u === 'string' && /\.m3u8(\?|#|$)/i.test(u);
      }
    
      function ensureHls(cb) {
        if (window.Hls) { cb(); return; }
        var s = document.createElement('script');
        s.src = HLS_CDN;
        s.onload = cb;
        document.head.appendChild(s);
      }
    
      function attachHlsIfNeeded() {
        var wrap = document.querySelector('.wplayer');
        if (!wrap) return;
    
        var audio = wrap.querySelector('audio');
        if (!audio) return;
    
        // исходный src из <source> (до инициализации hls)
        var srcEl = audio.querySelector('source');
        var src = (srcEl && srcEl.getAttribute('src')) || audio.currentSrc || '';
    
        if (!isM3U8(src)) {
          // если предыдущий трек был HLS — подчистим инстанс
          if (hls) { try { hls.destroy(); } catch(e){} hls = null; }
          return;
        }
    
        // Safari / iOS — нативно
        if (audio.canPlayType('application/vnd.apple.mpegurl') || audio.canPlayType('application/x-mpegURL')) {
          // гарантированно прописываем m3u8 напрямую
          audio.src = src;
          return;
        }
    
        // Chrome/Firefox/Edge — через MSE (hls.js)
        ensureHls(function () {
          if (!window.Hls || !window.Hls.isSupported()) return;
    
          if (hls) { try { hls.destroy(); } catch(e){} }
          hls = new window.Hls({
            enableWorker: true,
            lowLatencyMode: true,
            liveDurationInfinity: true
          });
    
          hls.attachMedia(audio);
          hls.on(window.Hls.Events.MEDIA_ATTACHED, function () {
            hls.loadSource(src);
          });
    
          // если клик «Слушать» уже произошёл — гарантируем старт после парсинга манифеста
          hls.on(window.Hls.Events.MANIFEST_PARSED, function () {
            audio.play().catch(function(){ /* autoplay policies */ });
          });
    
          // базовое восстановление при фатальных ошибках сети/медиа
          hls.on(window.Hls.Events.ERROR, function (event, data) {
            if (!data || !data.fatal) return;
            try {
              switch (data.type) {
                case window.Hls.ErrorTypes.NETWORK_ERROR:
                  hls.startLoad(); break;
                case window.Hls.ErrorTypes.MEDIA_ERROR:
                  hls.recoverMediaError(); break;
                default:
                  hls.destroy(); hls = null;
              }
            } catch(e){}
          });
        });
      }
    
      // Оборачиваем вашу apBuilding, чтобы после построения плеера подвесить HLS
      function wrapApBuilding() {
        if (!window.apBuilding || window.apBuilding.__wrapped) return;
        var orig = window.apBuilding;
        function patched(a, b, c) {
          orig(a, b, c);
          // dom уже отрисован .audioPlayer(), можно цепляться
          setTimeout(attachHlsIfNeeded, 0);
        }
        patched.__wrapped = true;
        window.apBuilding = patched;
      }
    
      if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', wrapApBuilding);
      } else {
        wrapApBuilding();
      }
    
      // Переинициализация при AJAX/SPA событиях (ваши шаблоны их уже триггерят)
      ['spa:navigate','wajax:after','wajax:load','content:loaded'].forEach(function (ev) {
        document.addEventListener(ev, function () { wrapApBuilding(); setTimeout(attachHlsIfNeeded, 0); });
      });
    })();
     
  7. Kandi

    Kandi Бывалый

    Регистрация:
    19 апр 2019
    Сообщения:
    593
    Лучших ответов:
    1
    Рейтинги:
    +121 / 43 / -0
    ABSOLUTE0302 ну если где-то работает, а где-то нет, значит там есть ошибки или конфликты, смотрите их и исправляйте
     
Похожие темы
  1. dadofall
    Ответов:
    0
    Просмотров:
    902
  2. SKYNET
    Ответов:
    11
    Просмотров:
    4.206
Загрузка...
Яндекс.Метрика