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

最后编辑时间: 2017-04-12

关于计时的话就是用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,播放音乐后网页中的文字大小会变小一倍左右,但占的位置还是那么大,所以计时显示就会不正常,有谁知道这个是什么原因的话,跟我说下哈,谢谢了……

请在下方留下您的评论.加入TG吹水群