如何让网页播放声音

时间:2014-05-09 11:18:18

标签: javascript html audio

我需要在加载后立即从网页发出声音(OK / NOT OK信号视情况而定)。生成页面,我可以完全控制内容。

如何以现代,跨浏览器兼容的方式执行此操作?我遇到了<audio>标签的问题(可能是浏览器问题,也许我做错了)。目前我使用的是小型闪存播放器,但正如您可能猜到的那样,它并不是一个完美的解决方案。

是的,声音正是用户想要的,所以请不要“有声音的网站不是一个好主意” - 评论。一般来说我会同意,但有特殊情况。

2 个答案:

答案 0 :(得分:0)

使用audio元素适用于现代浏览器,对于较旧的浏览器,您可以使用embed后备(根据已安装的插件,可能有效也可能无效,但如果不起作用,你没有什么可以做的):

<audio src=maamme.mp3 controls autoplay>  
  <embed src=maamme.mp3>
</audio>

这会在您放置此元素的位置创建可见控件。您可以在某种程度上修改这些控件或隐藏它们。如果要在演示文稿开始时更准确地控制,可以动态地将元素添加到文档中,而不是静态地将其添加到文档中。如果旧浏览器不是很相关,您也可以使用audio元素而不使用autoplay,并使用HTMLMediaElement界面启动演示文稿,在结束时执行操作等等。

答案 1 :(得分:0)

如果您希望自己控制音频,可以通过javascript以编程方式进行。

window.onload = function(){
    var snd = new Audio("sound/mysound.wav");
    snd.play();
}

这应该加载音频文件并在页面加载后自动播放。然而,应该注意,iOS限制了这样播放的任何音频,没有用户交互(例如点击),因为它迫使用户耗尽带宽并从中控制远离它们。 Android和其他设备可能允许或不允许自动播放音频,但桌面上的所有最新网络浏览器都允许(Chrome,FF,IE9 +,Safari)