用HTML5为你的网页添加音效

2016-02-19 18:18 8 1 收藏

下面请跟着图老师小编一起来了解下用HTML5为你的网页添加音效,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

【 tulaoshi.com - Web开发 】

为交互添加恰当的音效,常常能改善用户体验。在我们所熟悉的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" autobuffersource 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

附表

FormatIE 9Firefox 3.5Opera 10.5Chrome 3.0Safari 3.0 Ogg VorbisNoYesYesYesNo MP3YesNoNoYesYes WavNoYesYesYesYes

Format 

IE 9 

Firefox 3.5 

Opera 10.5 

Chrome 3.0 

Safari 3.0 

Ogg Vorbis 

No 

Yes 

Yes 

Yes 

No 

MP3 

Yes 

No 

No 

Yes 

Yes 

Wav 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

No 

Yes 

Yes 

Yes

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

Yes

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1617240.html

延伸阅读
标签: Web开发
canvas是一个新的HTML元素,这个元素可以被Script语言(通常是JavaScript)用来绘制图形。例如可以用它来画图、合成图象、或做简单的(和不那么简单的)动画。右面的图象展示了一些canvas的应用示例,我们将会在此教程中看到他们的实现。 canvas最先在苹果公司(Apple)的Mac OS X Dashboard上被引入,而后被应用于Safari。基于Gecko1.8的浏览器,...
标签: Web开发
原文地址:5 HTML5 APIs You Didn’t Know Existed 原文日期: 2010年09月27日 翻译日期: 2013年8月7日 当人们看到或者说出"HTML5"这个词的时候,估计至少有一半以上的人,会联想到她既是一个性感而又充满魅力的美女,同时也是一只能把你搞得焦头烂额的独角兽,这能怪我们这些开发者吗? 我们注意到那些基础的Api停滞发展了...
标签: Web开发
今天,大多数视频是通过插件(比如 Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。 HTML5 规定了一种通过 video 元素来包含视频的标准方法。 在HTML5中,video元素目前支持三种格式的视频文件, 1.Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件 2.MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件 3.Web...
标签: Web开发
HTML 5 canvas 基本语法简述 5 规范引进了很多新特性,其中最令人期待的之一就是 元素。HTML 5 提供了通过 JavaScript 绘制图形的方法,此方法使用简单但功能强大。每一个 元素都有一个"上下文( context )" (想象成绘图板上的一页),在其中可以绘制任意图形。浏览器支持多个 canvas 上下文,并通过不同的 提供图形绘制功能。 5 规...
标签: Web开发
1、标签不再区分大小写 代码如下: pHello,World!/P 2、元素可以省略结束标签 (1)空元素语法的元素:area、base、br、col、command、embed、hr、img、input、keygen、link、mata、param、source、wbr (2)可以省略结束标签的元素:colgroup、dt、dd、li、optgroup、p、rt、rp、thread、tbody、tfoot、tr、td、th (3)可以全部省略...

经验教程

829

收藏

80
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部