关于HTML5背景音乐的一些事情

DATE: 2016-11-10 / VIEWS: 607

最近有个项目,要求有新数据到达的时候,要有背景音乐提醒,本来没想太多,解决方案太多了。后来,客户要求在安卓智能端也能播放,首先想到得是HTML5的AUDIO,经过测试,在电脑端一切正常,ISO和Android禁止AUDIO的自动播放功能,放弃这个解决方案,只能想到用Flash了。客户端装Flash插件。
下面的代码兼容IE、FIREFOX和CHROME,获取flash对象:
function getFlashMovieObject(movieName)  
 {  
   if (window.document[movieName])
   {
      return window.document[movieName];
   }

   if (navigator.appName.indexOf("Microsoft Internet")==-1){  
     if (document.embeds && document.embeds[movieName])  
       return document.embeds[movieName];  
   }else{  
    return document.getElementById(movieName);  
    }
}
</script>

使用:
播放:getFlashMovieObject("Myflash").Play();
暂停:getFlashMovieObject("Myflash").StopPlay();

Flash代码:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" id="Myflash" width="1" height="1">
<param name="movie" value="images/music.swf">
<param name="quality" value="high">
<param name="play" value="false">
<embed play="false" swliveconnect="true" name="Myflash" src="images/music.swf" quality="high" width="1" height="1" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"> </embed >
</object >

记住这个:swliveconnect="true"很重要。


文末分享一个JS版的时间线函数
function getDateDiff(dateTimeStamp){
    var now = new Date().getTime();
    var dateTimeStamp = new Date(dateTimeStamp).getTime();
    var diffValue = now - dateTimeStamp;
    var monthC =diffValue/18144000000;
    var weekC =diffValue/604800000;
    var dayC =diffValue/86400000;
    var hourC =diffValue/3600000;
    var minC =diffValue/60000;
    if(monthC>=1){
     result=parseInt(monthC) + " month ago";
     }
     else if(weekC>=1){
     result=parseInt(weekC) + " week ago";
     }
     else if(dayC>=1){
     result=parseInt(dayC) +" day ago";
     }
     else if(hourC>=1){
     result=parseInt(hourC) +" hour ago";
     }
     else if(minC>=1){
     result=parseInt(minC) +" minute ago";
     }else
     result="Just Now";
    return result;
}
//使用getDateDiff("2014/5/15 15:24:5");