1

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

它也没有工作。

4

2 回答 2

1

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

在这种情况下,这意味着在最后删除“.m3u”。

于 2018-10-13T19:55:00.463 回答
0

@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.

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

于 2018-10-17T00:34:36.027 回答