Chrome 不会播放 Icecast 流媒体 link
Chrome won't play Icecast streaming link
所以我有这段代码可以打开我自己制作的“'player'”。但是当播放器打开时没有声音出来,以前从未发生过。可能是什么原因。当用 Chrome 打开时,无论播放器如何打开都没有声音,不管它会弹出,还是 link 粘贴到 url bar.Do 你知道吗?
你可以在这里查看我的播放器:
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>
这个播放器发出声音的是"play button"。难道我需要在我的流中添加 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>
而且也没用。
您的 link 指向 m3u 播放列表文件。要使 <audio>
元素起作用,您需要直接指向流,而不是其播放列表文件。
在这种情况下,这意味着在末尾删除“.m3u”。
@TBR的回答是正确的,但我想详细说明一下。
回到过去,在 HTML5 音频之前,在基于 Flash 的体面播放器之前,需要有一种方法来单击 link 浏览器并启动安装在系统。 (当然,有插件,但每个站点都必须有不同的插件很烦人!另外,在收听时让浏览器保持打开状态是不可取的。)
一个简单的方法是 link 到 播放列表文件 。这是一个非常小的文件,基本上只包含实际流的 URL。典型的 M3U 播放列表如下所示:
#EXTM3U
#EXTINF:-1, Stream Title
http://example.com/stream
传统上,当 links 指向这个播放列表文件时,他们会立即在注册处理 M3U 播放列表的播放器中打开它。在这种情况下,播放器将从那里解析播放列表并直接连接到 URL、http://example.com/stream
。
今天,我们可以使用 <audio>
标签直接在浏览器中加载音频流。浏览器的 <audio>
标签不使用播放列表文件。它需要流 URLs 原样。
在您的示例中,实际流的 URL 是 http://newfmplayer.ddns.net:8000/newfm128
。
在您自己的回答中,您试图添加伪造的扩展名等。这些都不是必须的。你不应该使用它们。任何告诉您使用它们的人都只是想破解一些损坏的播放器软件……而且很糟糕。
所以我有这段代码可以打开我自己制作的“'player'”。但是当播放器打开时没有声音出来,以前从未发生过。可能是什么原因。当用 Chrome 打开时,无论播放器如何打开都没有声音,不管它会弹出,还是 link 粘贴到 url bar.Do 你知道吗?
你可以在这里查看我的播放器: 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>
这个播放器发出声音的是"play button"。难道我需要在我的流中添加 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>
而且也没用。
您的 link 指向 m3u 播放列表文件。要使 <audio>
元素起作用,您需要直接指向流,而不是其播放列表文件。
在这种情况下,这意味着在末尾删除“.m3u”。
@TBR的回答是正确的,但我想详细说明一下。
回到过去,在 HTML5 音频之前,在基于 Flash 的体面播放器之前,需要有一种方法来单击 link 浏览器并启动安装在系统。 (当然,有插件,但每个站点都必须有不同的插件很烦人!另外,在收听时让浏览器保持打开状态是不可取的。)
一个简单的方法是 link 到 播放列表文件 。这是一个非常小的文件,基本上只包含实际流的 URL。典型的 M3U 播放列表如下所示:
#EXTM3U
#EXTINF:-1, Stream Title
http://example.com/stream
传统上,当 links 指向这个播放列表文件时,他们会立即在注册处理 M3U 播放列表的播放器中打开它。在这种情况下,播放器将从那里解析播放列表并直接连接到 URL、http://example.com/stream
。
今天,我们可以使用 <audio>
标签直接在浏览器中加载音频流。浏览器的 <audio>
标签不使用播放列表文件。它需要流 URLs 原样。
在您的示例中,实际流的 URL 是 http://newfmplayer.ddns.net:8000/newfm128
。
在您自己的回答中,您试图添加伪造的扩展名等。这些都不是必须的。你不应该使用它们。任何告诉您使用它们的人都只是想破解一些损坏的播放器软件……而且很糟糕。