从国外网站上找到的js切换背景音乐的代码,注意音乐切换时需要一个延时操作。
代码:
musicstatus = false;
// 背景音乐,播放特定曲目,空曲目,暂停音乐
function playmusicfile(musicfile)
{
var objmusic = document.getelementbyid("bgmusic");
if (!objmusic)
return;
if (musicfile == "") // 这几行处理,播放空文件时延迟一段时间才停止音乐的问题
{
if (typeof objmusic.pause == 'function')
{
objmusic.pause(); // 遇到空文件,先关闭之前的音乐
}
}
var parele = objmusic.parentnode;
parele.removechild(objmusic);
var newele = document.createelement("embed");
newele.setattribute("id","bgmusic");
newele.src=musicfile;
newele.setattribute("hidden","true");
newele.setattribute("autostart","false");
parele.appendchild(newele);
if (musicstatus == "pause")
{
settimeout(musicstop, 300); // 注意这里需要一个延时等待背景音乐文件载入内存
}
else if (musicstatus == "play")
{
settimeout(musicplay, 300);
}
// objmusic = newele;
}
function musicstop() {
if (bgmusic && (typeof bgmusic.stop == 'function'
|| typeof bgmusic.stop == 'unknown')) // 有时候bgmusi.stop是unknown类型
bgmusic.stop();
}
function musicplay() {
if (bgmusic && typeof bgmusic.play == 'function'
|| typeof bgmusic.play == 'unknown')) // 有时候bgmusi.play是unknown类型
bgmusic.play();
}