黑海洋 黑海洋 WIKI

利用JavaScript在指定的时间播放一段音乐

开发 更新于 04-12 12:34 · 约 2 分钟 · 黑海洋 · 3.3万
站内热度 站内前 23% 3.3万 次浏览

关于计时的话就是用setTimeout函数来处理就行了,很简单,这个问题的难点是如何让浏览器在指定的时间播放一段提示音。在Google上找了很多资料,不大可用,不过最后还是找到一个好方法了,就是当要播放音乐的时候就使用DOM插入一个播放音乐的embed节点。具体代码如下:

function playSound(url) {
    try {
        musicPlayer.removeChild(musicPlayer.firstChild);
    }
    catch (err) {
        //还未添加过
    }
    var music = document.createElement("embed");
    music.setAttribute("src", url);
    music.setAttribute("hidden", "true");
    music.setAttribute("id", "player");
    //document.body.appendChild(music);
    document.getElementById("musicPlayer").appendChild(music);
}

然后计时的函数里面调用这个函数就可以了。网页中还需要有一个id为musicPlayer的节点。

不过这个实现在Google浏览器下会有bug,播放音乐后网页中的文字大小会变小一倍左右,但占的位置还是那么大,所以计时显示就会不正常,有谁知道这个是什么原因的话,跟我说下哈,谢谢了……

报告错误

相关文档

评论0

按时间排序 · 回复会嵌套显示

还没有评论。有疑问、补充或指正,直接写在下面。

0
支持 Markdown · 提交后需审核