Chrome 无法播放 Icecast 流媒体链接



所以我有这个代码来打开我自己制作的"播放器"。但是当播放器打开时,没有声音发出,这在以前从未发生过。可能是什么原因。使用 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>

它也没有用。

您的链接指向 m3u 播放列表文件。要使<audio>元素正常工作,您需要直接指向流,而不是其播放列表文件。

在这种情况下,这意味着在末尾删除".m3u"。

>@TBR的答案是正确的,但我想详细说明一下来解释一下。

回到过去,在HTML5音频出现之前,在基于Flash的播放器出现之前,需要一种方法来单击浏览器的链接并启动系统上安装的音频播放器。 (当然,有插件,但必须为每个站点使用不同的插件很烦人! 另外,在收听时不要让浏览器保持打开状态。

执行此操作的一种简单方法是链接到播放列表文件。 这是一个非常小的文件,基本上只包含实际流的 URL。 典型的 M3U 播放列表如下所示:

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

传统上,当链接指向此播放列表文件时,他们会立即在注册处理 M3U 播放列表的播放器中打开它。 从那里,播放器将解析播放列表并直接连接到 URL,在这种情况下http://example.com/stream

今天,我们可以使用<audio>标签直接在浏览器中加载音频流。 浏览器的<audio>标签不使用播放列表文件。 它需要按原样提供流 URL。

在您的示例中,实际流的 URLhttp://newfmplayer.ddns.net:8000/newfm128

在您自己的自我回答中,您正在尝试添加虚假扩展等。 这些不是必需的。 你不应该使用它们。 任何告诉你使用它们的人只是想破解一些损坏的播放器软件......而且很差。

最新更新