当某个事件发生时,我希望我的网站向用户播放简短的通知声音。
声音应该不自动启动(瞬间)的网站打开时。相反,它应该通过 JavaScript 按需播放(当特定事件发生时)。
重要的是,这也适用于较旧的浏览器(IE6 等)。
所以,基本上有两个问题:
- 我应该使用什么编解码器?
- 嵌入音频文件的最佳做法是什么?(
<embed>
vs.<object>
vs. Flash vs.<audio>
)
当某个事件发生时,我希望我的网站向用户播放简短的通知声音。
声音应该不自动启动(瞬间)的网站打开时。相反,它应该通过 JavaScript 按需播放(当特定事件发生时)。
重要的是,这也适用于较旧的浏览器(IE6 等)。
所以,基本上有两个问题:
<embed>
vs. <object>
vs. Flash vs. <audio>
)function playSound(url) {
const audio = new Audio(url);
audio.play();
}
<button onclick="playSound('https://your-file.mp3');">Play</button>
Edge 12+、Firefox 20+、Internet Explorer 9+、Opera 15+、Safari 4+、Chrome
只需使用 MP3
(对于旧版浏览器)
function playSound(filename){
var mp3Source = '<source src="' + filename + '.mp3" type="audio/mpeg">';
var oggSource = '<source src="' + filename + '.ogg" type="audio/ogg">';
var embedSource = '<embed hidden="true" autostart="true" loop="false" src="' + filename +'.mp3">';
document.getElementById("sound").innerHTML='<audio autoplay="autoplay">' + mp3Source + oggSource + embedSource + '</audio>';
}
<button onclick="playSound('bing');">Play</button>
<div id="sound"></div>
另一个插件,用于在网站上播放通知声音:Ion.Sound
好处:
设置插件:
// set up config
ion.sound({
sounds: [
{
name: "my_cool_sound"
},
{
name: "notify_sound",
volume: 0.2
},
{
name: "alert_sound",
volume: 0.3,
preload: false
}
],
volume: 0.5,
path: "sounds/",
preload: true
});
// And play sound!
ion.sound.play("my_cool_sound");
雅虎的媒体播放器怎么样 嵌入雅虎的库
<script type="text/javascript" src="http://mediaplayer.yahoo.com/js"></script>
并像使用它一样
<a id="beep" href="song.mp3">Play Song</a>
自动启动
$(function() { $("#beep").click(); });