Chrome не будет воспроизводить потоковую ссылку Icecast - PullRequest
0 голосов
/ 13 октября 2018

Итак, у меня есть этот код, который открывает моего «игрока», который я сделал сам.Но когда проигрыватель открыт, звук не выходит, этого никогда не было раньше.Что может быть причиной.При открытии с помощью Chrome не воспроизводится звук, независимо от того, как открыт проигрыватель, какой бы он ни был, или ссылка, вставленная в строку URL. У вас есть идеи?

Вы можете проверить мой плеер здесь: http://newfm.ddns.me:12/m.player.html

Html-код для всплывающего окна:

 <html>
 <head>
 <style>
 <!--Image is used instead of text, to link page-->
   a {
   background: url(https://image.ibb.co/cxnuMU/playbutton.png) center no-    repeat;
display: block;

width: 44px;
height: 45px;
}

</style>
</head>
<!--Link to the page and size page should be opened in-->
<a href="#"     onClick="window.open('http://newfm.ddns.me:12/m.player.html','pagename','resizable,height=640,width=370'); return false;"></a>

То, что посылает звук в этом плеере, это то, что «кнопка воспроизведения»».Может ли быть так, что мне нужно добавить SSL в мой URL потока?

HTML-код для кнопки воспроизведения:

<div class="ex1">

<a id="play-pause-button" class="fa fa-pause"></a>
<script       src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>

<script>
var audio = new Audio("http://newfmplayer.ddns.net:8000/newfm128.m3u");

$('#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>


 <style media="screen" type="text/css">
 @import url(https://cdnjs.cloudflare.com/ajax/libs/font-     awesome/4.6.3/css/font-awesome.min.css);
 #play-pause-button{
 font-size: 50px;
 cursor: pointer;
 color: black;
 position: relative;
 left: 150px;
 top: 480px;
 }
 </style>


 </div>

</body></html>

Я также протестировал только что протестировал, будет ли он работать с простым кодом:

  <audio controls>
  <source src="http://newfmplayer.ddns.net:8000/newfm128.m3u"   type="audio/mpeg">
  </audio>

И это тоже не сработало.

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

@ Ответ TBR верен, но я хотел бы немного пояснить его, чтобы объяснить.

В далеком прошлом, до звука HTML5, до приличных проигрывателей на базе Flash, нужно было найти способнажать на ссылку в браузере и запустить установленный в системе аудиоплеер.(Конечно, были плагины, но необходимость иметь разные плагины для каждого сайта раздражала! Плюс, нежелательно оставлять браузер открытым во время прослушивания.)

Простой способ сделать это -ссылка на файл списка воспроизведения .Это очень маленький файл, который, по сути, просто содержит URL-адреса реальных потоков.Типичный список воспроизведения M3U выглядит следующим образом:

#EXTM3U

#EXTINF:-1, Stream Title
http://example.com/stream

Традиционно, когда ссылки указывают на этот файл списка воспроизведения, они сразу же открывают его в плеере, зарегистрированном для обработки списков воспроизведения M3U.Оттуда проигрыватель будет анализировать список воспроизведения и подключаться напрямую к URL, в данном случае http://example.com/stream.

Сегодня мы можем загружать аудиопотоки прямо в браузере с помощью тега <audio>.Тем не менее, тег <audio> браузера не использует файлы списка воспроизведения.Он нуждается в URL-адресах потока как есть.

В вашем примере URL для реального потока: http://newfmplayer.ddns.net:8000/newfm128.

В своем собственном ответе вы пытаетесь добавить фальшивкурасширения и тому подобное.Это не обязательно.Вы не должны их использовать.Любой, кто сказал вам использовать их, просто пытался взломать какое-то сломанное программное обеспечение плеера ... и плохо.

0 голосов
/ 13 октября 2018

Ваша ссылка указывает на файл списка воспроизведения m3u.Чтобы элемент <audio> работал, вам нужно указывать непосредственно на поток, а не на его файл списка воспроизведения.

В этом случае это означает удаление «.m3u» в конце.

...