为你的html5网页添加音效示例
发布时间:2014-04-03 15:52:49 作者:佚名
我要评论
这篇文章主要介绍了为你的html5网页添加音效示例,需要的朋友可以参考下
为交互添加恰当的音效,常常能改善用户体验。在我们所熟悉的windows里,清空回收站的碎纸声就是很好的例子。
下面是一个利用HTML5, Jquery,给页面添加音效的小组件(只是添加音效,并不是播放器)。
其实很简单,就是利用HTML5中的audio标签,播放声音。不过为了照顾IE 6-8,还是用上了bgsound。
兼容所有主流浏览器(非主流不在考虑之列了)
闲话少说,上代码:
复制代码
代码如下:<a href="#" class="fui-btn">播放</a>
<script>
/*Play sound component*/
/*
* profile: JSON, {src:'chimes.wav',altSrc:'',loop:false}
*
* setSrc: Function, set the source of sound
* play: Function, play sound
*/
if (!FUI){
var FUI = {};
}
FUI.soundComponent=function(profile){
this.profile={
src:'', //音频文件地址
altSrc:'', //备选音频文件地址 (不同浏览器支持的音频格式不同,可见附表)
loop:false //是否循环播放,这个参数现在没有用上
};
if(profile) {
$.extend(this.profile,profile);
}
this.soundObj=null;
this.isIE = !-[1,];
/*这个方法是前辈大牛发明的,利用ie跟非ie中JScript处理数组最后一个逗号“,”的差异,
不过对于IE 9,这个办法就无效了,但此处正合我用,因为IE 9支持audio*/
this.init();
};
FUI.soundComponent.prototype={
init:function(){
this._setSrc();
},
_setSrc:function(){
if(this.soundObj){
if(this.isIE){
this.soundObj[0].src=this.profile.src;
}else{
this.soundObj[0].innerHTML='<source src="'+this.profile.src+'" />
<source src="'+this.profile.altSrc+'" />';
}
}else{
if(this.isIE){
this.soundObj=$
('<bgsound volume="-10000" loop="1" src="'+this.profile.src+'">').appendTo('body');
//-10000是音量的最小值。先把音量关到最小,免得一加载就叮的一声,吓到人。
}else{
this.soundObj=$('<audio preload="auto" autobuffer>
<source src="'+this.profile.src+'" />
<source src="'+this.profile.altSrc+'" />
</audio>').appendTo('body');
}
}
},
setSrc:function(src,altSrc){
this.profile.src=src;
if(typeof altSrc!='undefined'){
this.profile.altSrc=altSrc;
}
this._setSrc();
},
play:function(){
if(this.soundObj){
if(this.isIE){
this.soundObj[0].volume = 1; //把音量打开。
this.soundObj[0].src = this.profile.src;
}else{
this.soundObj[0].play();
}
}
}
};
var sd=new FUI.soundComponent({src:'ding.wav',altSrc:'ding.mp3'});
$('.fui-btn').bind('click',function(e){
sd.play();
});
</script>
相关文章
- 这篇文章主要介绍了使用HTML5在网页中嵌入音频和视频播放的基本方法,2016-02-22
分享29个基于Bootstrap的HTML5响应式网页设计模板
如今基于Bootstrap框架的免费HTML5网站已经开始成为行业趋势。研究人员已经证实,Bootstrap是引领设计和开发行业趋势效果最为显著的,本文给大家分享29个基于Bootstrap的HT2015-11-19- 这篇文章主要介绍了使用纯HTML5编写一款网页上的时钟的代码分享,程序非常简单且没有时钟上的数字显示,纯粹体现最基本的设计思路,需要的朋友可以参考下2015-11-16
- 今天和大家分享一款倒计时网页教程,2014年的圣诞节即将来临之季。爱编程小编给大家分享一款2014年圣诞节倒计时网页,当天的日期卡片有抖动的效果,需要的朋友可以参考下2014-12-05
- 这篇文章主要介绍了阻止移动设备(手机、pad)浏览器双击放大网页的方法,需要的朋友可以参考下2014-06-03
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
不管是浏览器的开发者还是普通web应用的开发者,他们都在做一个共同的努力:让Web浏览有更快的速度感觉。有很多已知的技术都可以让你的网站速度变得更快:使用CSS sprites2014-05-07- 在编写html5时简单的调试了下与PHP协同使用后,发现在不少情况下js、css等会失效,调试后发现网页在跳转时仍有缓存,需要指出原网页和跳转后网页的关系,具体代码如下2013-12-31
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
WebGL开启了网页3D渲染的新时代,它允许在canvas中直接渲染3D的内容,而不借助任何插件,看到此处是不是感觉特别惊讶啊,WebGL有一个很好的中文教程,就是下面使用参考中的2013-01-31- HTML5之前,要实现网页元素的拖放操作,需要依靠mousedown、mousemove、mouseup等API,通过大量的JS代码来实现,而如今html5大大简化了网页元素的拖放操作编程难度,API除了2013-01-02
- 为了帮助了解当今HTML 5的一些新玩意儿,我们现在就进入正题,开始使用一些新的结构元素。我们创建HTML 5文档第一件需要做的事情就是使用新的文档类型。2010-05-30


最新评论