用HTML5为你的网页添加音效

2016-02-19 18:18 4 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 

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

Yes 

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

Yes 

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

Yes 

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

No 

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

MP3 

Yes 

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

No 

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

No 

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

Yes 

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

Yes 

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

Wav 

No 

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

Yes 

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

Yes 

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

Yes

Yes

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

延伸阅读
标签: Web开发
本文收集了 15 个非常值得收藏的 HTML5 资源,这些资源可以让你同 HTML5 的发展保持一致,并始终处于这门技术的最前沿。 1. WTF is HTML5 这是一个关于 HTML5 Infographics 的站点,包含诸如 HTML5 同 Flash 的对比,HTML5 不同浏览器支持情况,HTML5 最受欢迎的功能等资料。 2. Dive Into HTML 5 Mark Pilgrim 是知名软件开发师与博...
标签: 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开发
原文地址:5 HTML5 APIs You Didn’t Know Existed 原文日期: 2010年09月27日 翻译日期: 2013年8月7日 当人们看到或者说出"HTML5"这个词的时候,估计至少有一半以上的人,会联想到她既是一个性感而又充满魅力的美女,同时也是一只能把你搞得焦头烂额的独角兽,这能怪我们这些开发者吗? 我们注意到那些基础的Api停滞发展了...
标签: Web开发
HTML 元素可拥有事件属性,这些属性在浏览器中触发行为,比如当用户单击一个 HTML 元素时启动一段 JavaScript。下面列出的事件属性,可以把它们插入 HTML 标签来定义事件行为。 HTML 4.01 与 HTML 5 之间的差异 HTML 5 中的新事件:onabort, onbeforeunload, oncontextmenu, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondrags...

经验教程

544

收藏

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