js预加载js 音频预加载怎么实现的

匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。当前位置:
& HTML5 - 使用JavaScript控制&audio&音频的播放
HTML5 - 使用JavaScript控制&audio&音频的播放
发布:hangge
阅读:12459
有时我们需要使用js来控制播放器实现音乐的播放,暂停。或者使用js播放一些音效。
1,通过JavaScript控制页面上的播放器
比如把页面上添加一个&audio&用来播放背景音乐(由于controls属性未设置,我们是看不见播放界面的)
&audio id="bgMusic"&
&source = src="hangge.mp3" type="audio/mp3"&
&source = src="hangge.ogg" type="audio/ogg"&
通过pause()和play()方法可以使音乐暂停和继续播放(结合currentTime属性可以实现停止和重新播放)
var audio = document.getElementById("bgMusic");
//播放(继续播放)
audio.play();
audio.pause();
audio.pause();
audio.currentTime = 0;
//重新播放
audio.currentTime = 0;
audio.play();
2,也可以动态的创建&audio&元素
var audio = document.createElement("audio");
audio.src = "hangge.mp3";
audio.play();
var audio = new Audio("hangge.mp3");
audio.play();
通过canPlayType()方法可以判断浏览器支持的编码方式,从而设置对应的音频文件。
if (audio.canPlayType("audio/mp3")) {
audio.src = "hangge.mp3";
}else if(audio.canPlayType("audio/ogg")) {
audio.src = "hangge.ogg";
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作。编程开发子分类javascript 事件加载与预加载
字体:[ ] 类型:转载 时间:
本文对JavaScript事件加载进行了一些延伸思考。加载多个事件时,使用window.onload可能会导致一些不便,而通过侦听器等方法,则可以解决这些问题。
通常来说,window.onload就够用了,如果想加载多个事件,我们可以采取以下方式:
代码如下: window.onload = function(){ func1(); func2(); func3(); //更多加载事件……………… }
但如果由于某种特殊需要,我们不能合在一起写吗?如当前区域是面向管理员,后台生成页面时只有当用户是管理员,页面才生成这部分,而这部分也用到一些特殊的脚本,上面的方法就歇菜了! 代码如下: //后台代码 &script type="text/javascript"& window.onload = function(){ func1(); func2(); //加载普通用户用到的脚本…… } &/script& &%# 以下脚本是为管理员准备的 %& &% if @user.role == "manager" %& window.onload = function(){ func1(); func2(); //加载机密脚本…… } &% end %&
这种情况生成出来的页面拥有两个window.onload代码块,很显然,第二个覆盖掉第一个。这时,轮到loadEvent函数出场了。
代码如下: var loadEvent = function(fn) { var oldonload = window. if (typeof window.onload != 'function') { window.onload = }else { window.onload = function() { oldonload(); fn(); } } }
它非常完美地解决了互相覆盖的问题,用法如下:
代码如下: loadEvent(func1); loadEvent(func2); loadEvent(func3); //更多加载事件
但现实的问题总是如此出奇不意,也如此刁钻邪门。最近我想把所有的函数放到一个闭包中,以免除命名冲突之苦,比如那个有名的$的DOM选择器。JQuery,Prototype,mootool都用它做选择器的名字,共存成了个严重的问题。
代码如下: (function(){ if(!window.JS){ window['JS'] = {} } var onReady = function(fn){ var oldonload = window. if (typeof window.onload != 'function') { window.onload = }else { window.onload = function() { oldonload(); fn(); } } } JS.onReady = onR var $ = function(id){ return document.getElementById(id); } JS.$ = $; })()
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 angularjs实现预加载 的文章

 

随机推荐