说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

不只是Chrome,Firefox也开始支持Web Audio API

HTML文档下载 WORD文档下载 PDF文档下载
Web Audio API是Javascript中主要用于在网页应用中处理音频请求的一个高级应用接口。目前,Firefox Nightly和Firefox Aurora两个版本已经基本支该持API。

Mozilla公司称,他们一直在为Firefox支持Web Audio API而努力,而今这个愿望就快达成了。目前,Firefox Nightly和Firefox Aurora两个版本已经基本支该持API。Web Audio提供了诸多炫酷的功能,开发者可以基于此创建应用 、游戏,可以说基本上任何一款应用都需要先进的音频处理。


Web Audio API是JavaScript中主要用于在网页应用中处理音频请求的一个高级应用接口,这个API目的是用于让最新技术与传统的游戏音频引擎的综合处理相兼容,也即尽力提供一些桌面音频处理程序的要求。

Web Audio API特性包括:

  • 查看音频播放期间调度事件发生的确切时间;
  • 支持各种类型的音频过滤波器以实现各种效果,包括回声、消除噪音等;
  • 支持利用合成声音(Sound synthesis)创建电子音乐;
  • 支持3D位置音频模拟效果,比如某种声音随着游戏场景而移动;
  • 支持外部输入的声音与WebRTC 进行集成(调用WebRTC,在你的设备中增添吉他声),或者在WebRTC中调用其他地方传输过来的声音;
  • 利用音频数据分析创造良好的可视化声音等。

代码示例

下面是利用Web Audio创建应用的一个简单示例。试想下,当你在创建一款游戏,你想要玩家在点击游戏画布时(game canvas)呈现枪声的声音。为了确保你不会受网络延迟、音频解码器延迟等影响,你可以使用Web Audio来加载音频作为游戏加载进程缓冲区的一部分。

为了营造一个整洁的声音效果,我们可以在点击鼠标时使用循环声音并在鼠标松开后创建渐变效果。下面的这段代码示例演示了这一效果:

// Load the sound file from the networkvar decodedBuffer;var ctx = new AudioContext();var xhr = new XMLHttpRequest();xhr.open("GET", "gunshot.ogg", true);xhr.responseType = "arraybuffer";xhr.send();xhr.onload = function() {  // At this point, xhr.response contains the encoded data for gunshot.ogg,  // so let's decode it into an AudioBuffer first.  ctx.decodeAudioData(xhr.response, function onDecodeSuccess(buffer) {    decodedBuffer = buffer;  }, function onDecodeFailure() { alert('decode error!'); });}; // Set up a mousedown/mouseup handler on your game canvascanvas.addEventListener("mousedown", function onMouseDown() {  var src = ctx.createBufferSource();  src.buffer = decodedBuffer;                                      // play back the decoded buffer  src.loop = true;                                                 // set the sound to loop while the mouse is down  var gain = ctx.createGain();                                     // create a gain node in order to create the fade-out effect when the mouse is released  src.connect(gain);  gain.connect(ctx.destination);  canvas.src = src;                                                // save a reference to our nodes to use it later  canvas.gain = gain;  src.start(0);                                                    // start playback immediately}, false);canvas.addEventListener("mouseup", function onMouseUp() {  var src = canvas.src, gain = canvas.gain;  src.stop(ctx.currentTime + 0.2);                                 // set up playback to stop in 200ms  gain.gain.setValueAtTime(1.0, ctx.currentTime);  gain.gain.linearRampToValueAtTime(0.001, ctx.currentTime + 0.2); // set up the sound to fade out within 200ms}, false);

Web Audio API还未成为W3C标准

谷歌声称,Chrome是首个实现Web Audio API,但对于WebKit核心的浏览器,需要加上webkitAudioContext的前缀。Mozilla表示,其一直在与W3C Audio工作小组讨论API问题,并试图解决API早期版本存在的一些问题。也就是说,打破代码的向后兼容性能,即解决webkitAudioContext前缀问题。值得一提的是,很多Web Audio API功能,比如说创建AudioNodes 或者是解码音频文件,都是采用AudioContext的方法。AudioContext(W3C)是一种管理、播放声音的对象。

如果你也想开发音乐应用或者游戏,不妨参考how toport those applications to the standard API;此外,webkitAudioContext monkeypatch 能够帮助你自动处理一些变化以及如何在API标准中实现webkitAudioContext。

Firefox计划

如今,Firefox已实现了Web Audio API标准。如果你是一名Web开发者对创建先进的音频上感兴趣,不妨查看Mozilla开发团队的这篇基于AudioContext的Porting webkitAudioContext code或许对你有帮助。

Mozilla表示,目前正在研究台式机及Android设备上的Firefox 24支持Web Audio。Mozilla称,除非是遇到什么特殊情况,否则不会延迟发布时间,但目前开发者可以在Nightly和Aurora两个版本中使用大部分API。

英文出自:Mozilla

【云先锋】数云:另类淘宝创业,瞄准背后百万卖家的数据挖掘 Xcode 6 GM、6.1齐出,Swift终迎1.0版! 我眼中的Devops——倍道而进! 英特尔物联网世界:提供开发工具包,实现万物互联 三十功名尘与土——我的程序员生涯自白 触摸未来:为什么说AR是未来最重要的人机界面? 科普:谈云计算中间件理念 能准确“猜透”玩家心理,深度学习让游戏更智能 阿里过程改进专家:看板核心在于拉动式管理过程+数据化支持改进 英特尔Edison全面上市,专为小型可穿戴设备设计 APM最佳实践:Web 2.0和AJAX四大优化战略 开放•创新•共赢 2014华为开发者联盟沙龙即将开幕 排名前十的SQL和NoSQL数据库 干货议题,中国互联网安全大会免费门票等你来! 【云先锋】红象云腾:Hadoop将和高铁一样改变我们的生活 IDF 2014上开发者最应关注的三件事之:原生应用兼容性篇 《近匠》WRTnode创始人罗未:OpenWrt,下一个时代的Android AMD爆新一代架构,代号Zen! 【问底】严澜:数据挖掘入门——分词 顺丰集团IT副总裁徐庆强:信息化技术支撑高质量服务 【CTO俱乐部走进雅虎北京全球研发中心】活动图文实录 病毒式传播到商业价值,Docker开创以开发者为主导的商业模式 一周消息树: Windows 9系统截图大量曝光,一起来看看它长什么样! 腾讯李朝晖:不移动非互联,投资关注四大领域 【问底】Yao Yu:谈Twitter的百TB级Redis缓存实践 “OKCoin与你·北京一夜”:共商比特币可持续繁荣之道 苹果再发力:推Apple Pay,或将引发新一轮支付变革 CausalImpact,谷歌开源的R时域因果关系分析工具 腾讯云总裁陈磊:互联网和传统企业互联网化是主线 不得不看,苹果Pay技术大起底! 详解Apple Pay:一大波iOS原生应用正在逼近! dbgrid 各位,请看下面一段有关线程同步的代码: 大家上来帮我看一下http://www.csdn.net/expert/topic/613/613969.xml?temp=.7868463 大家上来帮我看一下http://www.csdn.net/expert/topic/613/613969.xml?temp=.7868463 简单的一道题,各位高手指点一下把! 大家上来帮我看一下http://www.csdn.net/expert/topic/613/613969.xml?temp=.7868463 美丽的故事悲伤的结局 大家上来帮我看一下http://www.csdn.net/expert/topic/613/613969.xml?temp=.7868463 98安装故障,急!请帮看看! 大家上来帮我看一下http://www.csdn.net/expert/topic/613/613969.xml?temp=.7868463 oracle 入门的书籍,请大家推荐!本人是菜鸟现在想学习 oracle请大家多多指教!!!!! 谁有好的VB电子书籍 不会使用网上的控件,谁教我? **********四大网站被黑!!!********** 怎麼寫這兩條SQL語句;(1)顯示當前數據庫?(2)顯示當前所有用戶表? 急,謝謝 送分问题,绝对给分! 如何才能不改变字体大小? 数据窗口有bh(编号),name(名称)两列,编号是string型,用什么方法可快速查找出bh中的最大值?只准对数据窗口操作。 delphi(dll) 大话爱情大结局 ??如何编写邮件服务器? createfont怎样创建一个随意宽高的字体? 急,请问有函数可取字符串后面N位字符吗?在线等待 怎样显示报表页总数问题 在打印中如何实现实现小计(即每页显示金额的总和)100分 问一个简单的问题,关于初始化 请问谁有动态树状目录的原码啊,急需!! 什么问题,怎么解决? 西瓜:有人要求我贴你的没穿外套没穿鞋子的照片 就是你说生气的那张 贴不贴啊? 怎样将一个十进制数转换为二进制数,并将二进制数中的每一位单独取出来? GetProcAddress在VB中的使用? excel单元格格式问题 用按钮保存网页的问题 用c++ builder和access.数据表中的记录多了之后,应用什么方案将之备份以及恢复? 以下ASP在Win2000server上运行报错请问大家为什么??? 在指定位置输出文本 怎么办? 如何启动和终止一个NT服务 .Net——又一个起跑线 怎么样注册jsp上的jdbcoracle驱动 什么问题,怎么解决? 我的爱情大结局----失败爱情原闯文章 在学习了2个月的delphi后,总结四大问题! OnPaint()的问题?为什么我的程序要刷很多次才能得到正确的结果? win2000 Server中的终端服务问题,急,所有的终端都趴下了! 深入浅出MFC 100分﹕vs.net正式版的產品密鑰 怎样动态改变下拉框中的值? 如何将已有的程序(有源程序)封装成ActiveX控件? 讨论一个数据库建模的使用工具问题? 关于Flash的Action的小问题 只有选择也行!能有多少告诉多少模块全能训练,阳光出版社,2009年11月第一版.实在不行只能去书店了.那个……好像书店也没有卖的,很难找 (最好有不等式的) 家门口种什么树好 遮阴的那种 格式:名称、分类、数量、生活环境、作用(至少写十个) 是长江作业本,我可以提供英语答案详聊q我1724836286 足球比赛的计分规则为:胜一场得3分,平一场得1分,输一场得0分.一个队应打15场,其中负3场,若想要积分不低于22分,那么这个队至少还要胜几场? 初一生物调查报告 急!生初一的物报告能不能光写表格呢?不写那些研究报告 我的主要意思是问交的时候怎么写才算过关? 可不可以不写研究报告 急.一定要准确啊 尤其是关于一元一次方程工程问题的答案 某市足球联赛共赛了22轮,计算积分的规则为胜一场得3分平一场得1分输一场得0分,已知某队的总积分为46分,胜的场数比负的场数多12场,问该队胜了几场平了几场? 三年级4个班进行乒乓球比赛.每两个班一场,4个班一共要赛多少场? 六(1)班共39人,一次数学测验,芳芳因病未能测试,参加数学检测的同学的平均分为88分.后来芳芳补考后,全班同学的平均分为87.芳芳补考考了多少分?在“六一”活动期间,百货商场童装店里一 某实验小学五年级三班共有40人,现在要把这些人分成人数相等的若干个小组(每个小组至少2人)有几种分法请列出来 每个年级选出打乒乓球技术最好的5名同学参赛,共打5场球,5场3胜制,假如 明明数学测试得了88分,比芳芳低了10分,比芳芳低了百分之几 遮阴之树不可砍 帮我写一份初一的生物调查报告!可以是关于血液在人体内的循环,花粉如何传播等等 芳芳同学生病了,需要回家看医生,同时,爸爸也骑车从家出发,8分后爸爸接到了芳芳,芳芳家离学校多远?爸爸:“我每分行500米.”芳芳:“我每分走40米.”(要求:快,准,) 养殖场栽什么树遮阴好最好是树的果子能吃的.树不能太大太高.要中子多的. 淘气一家三口和笑笑一家四口到餐馆用餐,两家决定按人数分摊餐费.淘气家付了60元,笑笑家应该付多少元? 九年级下册数学课本69页第三题 请问 用来遮荫的树,什么树长的快,覆盖的面积还大.爬藤的什么长的快.山东地区 某班有科技和美术两个兴趣小组(每人至少参加一项).已知全班同学中有3/5参加了美术组,7/10参加了科技组,两项都参加的有15人.该班共有多少人? 九年级下册数学课本26.2的第四题怎么做 急求小学三年级语文教学计划,北师大版的!谢谢! 六(1)班办了科技和美术两个兴趣小组(每人至少参加一项),已知全班有五分之三参加了美术兴趣小组,十分之七参加了科技小组.又知两项都参加的有15人.六(1)班共有多少人? 初中九年级下册数学教科书教师版 小明共有24共书,分别为数学书、语文书、文艺书.其中数学书是文艺书的2倍,文艺书是语文书的1/3,求数学书、语文书、文艺书各多少本.没有学过方程式. 如果六(1)班20名同学进行乒乓球比赛,如果每两名同学之间都进行一场比赛,一共要比赛多少场? 用小立方体搭一个几何体,使得它从正面、上面看到的图形如图所示,这样的几何体只有一种吗?它最少需要多少多少个小立方体?最多需要多少个小立方体? 北师大版八年级语文上册教学计划 初一生物学调查报告怎样写?格式是怎样的?是七年级上册的生物学.调查校园、社区的生物种类! 世纪小学六年级一班原有36名同学,其中女生占9分之4,新学期转入几名学生(小于5人),这时女生占班级人数的19分之9,新学期转入几名学生? 如题, 六年级一班9名学生进行乒乓球比赛,如果每两名同学之间进行一场比赛,一共要比赛多少 秋游了,老师和同学划船,3人一条船多2人,每5人一条船多3人,每7人一条多二人,至少有几人 课堂上同学们都在复习语文或数学,只复习语文的占48%,只复习数学的是只复习语文的人数的50%.问:两门功课都复习了的人数占总数的百分之几 初一校园生物调查报告格式以及内容啊, 俗话说:大树底下好乘凉,是说在大树下遮阴比其他地方要凉快一,这主要是什么原因呢 (1)请你提出合理猜想2.请设计实验来验证猜想,要求写出器材和试验方法.用初中物理知识解答(这是2009年 1.有一些苹果,把其中的30%给小张,把余下的20%少2个给小王,再把剩下的给小李,这样小李得到的比小张多28个.一共有多少个苹果?(列式计算)2.一项工程,甲队单独修要10天完成,乙队单独修15天才 六一班8名同学进行乒乓球比赛,如果每两个同学之间都进行一场比赛,一共要比赛多少场? 篮球世锦赛积分算 六年级上册的工程问题 急!不要太难哈 某班20名同学进行乒乓球比赛,若每2名同学都进行一场比赛,共要比赛多少场? 为何在大树底下会很凉快?请告诉我为何在大树下会凉快,要科学答案,最好有生物学上的标准实验性答案,就是包括提出问题,作出假设,实验过程和得出结论,没有也行. 新北师大一年级上册数学《有几瓶牛奶》评课 两个班的12名同学举行乒乓球比赛,每个班的6名同学都分别要同另外一个班的6名同学举行一场比赛,共()场算式列出来 如何计算篮球赛积分 小学一年级数学有几瓶牛奶教学反思 足球联赛的积分方法如下:胜一场得3分,平一场得1分,负一场得0分,某小组四个队进行单循环赛,其中一队积7分若该队胜了x场,平了y场,则[x,y]是------ 写过程 篮球比赛共有9个队,有三个队积分相同,且都是五胜三负,三个队出现循环,怎么计算名次? 新版北师大版一年级数学上册有几瓶牛奶教学反思 当今世界杯足球赛积分如下,赢一场得3分,平一场1分,负一场0分,其中一队得七分,该队赢了x场,平了y场(x,y)是()和() 注意,是二元壹次方程 篮球比赛小组赛三队胜负次数相同 积分相同 两队可以出线 看比分求出线队伍篮球比赛小组赛三队胜负次数相同 积分相同 比分如下 供电:油建 54:44 油建:机关 51:30 机关:供电 63:48 只 北师大版数学一年级上册《有几瓶牛奶》课件 某校初一年级1班与2班决定分别打一场乒乓球比赛,规定:男生4人,女人2人,举行团体赛(即一队的每位队员与另一队的每位队员分别赛一场,男生与女生间不比赛),胜一场得3分,负一场得1分,无 新建小学三年级一班有学生36名,其中女生占9分之4,新学期转入几名学生后女生人数占全班人数的.新建小学三年级一班有学生36名,其中女生占9分之4,新学期转入几名学生后女生人数占全班人数 数学人教版小学六年级上册第五单元测评最后一题快!题目是。一筐枇杷,先拿出140个,又拿出余下的40%,这时,筐内还剩下原来总数的1/5,原有几个枇杷? 人教版九年级下册数学市质量检测第47页第16题怎么作? 用小正方体搭一个几何体,分别从它的正面、上面看到的形状如图所示.1、这样的几何体只有一种吗?它用小正方体搭一个几何体,分别从它的正面、上面看到的形状如图所示. 1、这样的几何体 哪些植物可以作为遮荫树? 小学六年级数学上册第五单元93页的2题是什么
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘