WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

使用JS自动切换背景音乐的方法

更新时间:2010-05-07 08:57 作者:网络收集点击:

网络上介绍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();
  }

顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容