为你的html5网页添加音效示例


Posted in HTML / CSS onApril 03, 2014

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

HTML / CSS 相关文章推荐
纯CSS3实现带动画效果导航菜单无需js
Sep 27 HTML / CSS
纯CSS3打造动感漂亮时尚的扇形菜单
Mar 18 HTML / CSS
Css3圆角边框制作代码
Nov 18 HTML / CSS
CSS3实现鼠标悬停显示扩展内容
Aug 24 HTML / CSS
详解CSS3阴影 box-shadow的使用和技巧总结
Dec 03 HTML / CSS
css3 clip实现圆环进度条的示例代码
Feb 07 HTML / CSS
css3 实现圆形旋转倒计时
Feb 24 HTML / CSS
举例详解HTML5中使用JSON格式提交表单
Jun 16 HTML / CSS
浅谈html5 video 移动端填坑记
Jan 15 HTML / CSS
canvas学习总结三之绘制路径-线段
Jan 31 HTML / CSS
HTML5中input输入框默认提示文字向左向右移动的示例代码
Sep 10 HTML / CSS
使用jquery实现HTML5响应式导航菜单教程
Apr 02 #HTML / CSS
简单html5代码获取地理位置
Mar 31 #HTML / CSS
HTML5注册页面示例代码
Mar 27 #HTML / CSS
html5实现微信打飞机游戏
Mar 27 #HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
Mar 26 #HTML / CSS
html5适合移动应用开发的12大特性
Mar 19 #HTML / CSS
用html5实现语音搜索框的方法
Mar 18 #HTML / CSS
You might like
php session 检测和注销
2009/03/16 PHP
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
php微信开发之百度天气预报
2016/11/18 PHP
简单解决微信文章图片防盗链问题
2016/12/17 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
Javascript笔记一 js以及json基础使用说明
2010/05/22 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
JavaScript中的prototype.bind()方法介绍
2014/04/04 Javascript
使用C++为node.js写扩展模块
2015/04/22 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
2015/11/17 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
python实现井字棋游戏
2020/03/30 Python
简述Python2与Python3的不同点
2018/01/21 Python
python opencv之SURF算法示例
2018/02/24 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
Python数据可视化:箱线图多种库画法
2019/11/06 Python
Python pickle模块实现对象序列化
2019/11/22 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
女大学生自我鉴定
2013/12/09 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android
SQL Server查询某个字段在哪些表中存在
2022/03/03 SQL Server