您的位置:首页 > Web前端 > JavaScript

[经验总结]JS切换背景音乐的代码

2010-04-21 22:22 351 查看
Author:Thinkhy
Date:2010.04.21.
Url:http://www.disandu.com/?p=731
Keyword:JS切换背景音乐 JS控制背景音乐 JAVASCRIPT
网络上介绍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();

 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息