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

不只是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

用Visual Basic6.0编写客户服务器程序 用Visual Basic创建FTP组件 用Visual Basic开发数据库浏览器 用Visual Basic轻松地设计Browser及Ftp程序 VB用Winsock控件发信Email VB用Winsock实现点对点通信 邮件检查程序(二) -VB资料 邮件检查程序(一) -VB资料 在VB程序中怎样挂断拨号网络 在VB中利用UDP协议编写聊天程序 在VB中模拟实现邮件传输 在VB中实现文件上传 在VB中使用UDP协议 在VB中用Outlook发电子邮件 在程序中打开 Internet 拨号连接窗口 -VB资料 在一个单位内部或通过广域协议(如X.25)互联的行业内部都有几十或上万台计算机互联,用Intrane 在应用中集成浏览器-VB资料 在桌面上建立一个 Internet 快捷键 -VB资料 VB怎样接收电子邮件(POP3协议简介) VB怎样用VB得知系统当前是否处于internet链结状态 VB制作自己的网络搜索软件 自动更新工作站的应用程序-VB资料 自己的IE——用VB制作浏览器 VB6制作Win98风格的工具栏 VB实现窗口的弹出式菜单 用VB做个漂亮的进度条 Cool 3D 浮動按鈕的模擬作法-VB资料 VB 5.0中实现鼠标拖放 VB5.0下工具条的制作 VB5.0中基于桌面的屏幕技巧 VB5.0中实现字体闪烁效果 请问哪里有用applet做的,能绘制数学曲线的动态演示系统?各位,请不吝赐教 今天大清早被人诅咒! Delete 多个表时一条语句怎样写?? 请教:如何获取文本框中SQL语句。50分 日期型的格式应该怎样写?? windows xp internet 浏览器的问题 大家帮我看看这段代码:它是如何得到name和phone的值,并写到文件中取得 100分求李维的delphi5.x分布式系统开发的源代码,电子书我已经有 奇怪。为何win2000的搜索选项中的日期控件是Delphi中的样式?欢迎来讨论,给分!!! 请教一个数据库查询的问题! 哥、姐帮帮小第,一生成并打印表格问题(有图片及字体适应),急急,十万火急。 怎样在ASP.NET的页面中,把DataGrid的表头改名??急急急!!! 在线求教:怎样在自己定义的函数里封装自己的MouseMove类??? (高手求救………100分)怎么样用socket(http)实现上载!请提供思路或source code! 怎样调用Dll中导出的变量??? 那位大哥有关于颜色渐变的算法的代码,给小弟一份 小弟万分感谢 颜色渐变的算法 颜色渐变的算法 问一个有关缓存的问题 更换基类的问题? 感谢上学期大家的帮助——散分 一个奇怪的问题,100在线送给你!!! 用rave生成的pdf格式报表,中文字符怎么是乱码? 请进来: windows 2000 能不能用API的方式将Imagelist中的图画在命令按钮(Commandbutton)上? 请各位指点怎么从SQL65升级到7,还有数据备份?请大侠指点迷津? 请问如何解决.exe文件在其他机器上的运行问题 允许DBGrid对记录进行编辑,在线等待,急急急~ 如何在vb.net定义失去焦点事件? 如何读出文章中的部分内容(在线等待) 怎么样在VB中实现象PING -A命令 有没有一个更好的论坛????????????????????有没有人来踢馆?????????????????????????????? 如何访问隐藏共享的硬盘 请大家评评,先谢了 一个有趣的问题: 慢的问题 我在windows下的FormInput里有多个sqlDataAdapter 数据几百条 DataSET.fill慢及了 如何返回当前程序目录的上一级目录? EA,你给我进来,你又欺负我MM啦? 请问PB的DATA window如何实现分页? 关于pb中我在sqlserver中定义的字段类型是varchar(1000),结果在做数据窗口时它总是自动截取为char(255),为什么?如何解决这个问题(除了 IIS出错了,凡是需要数据库的asp程序在执行时出错: 关于下三角矩阵压缩存储问题 求免费下载电影电视剧的FTP站点 模块实现 数据表转换问题. 请帮帮忙. 我种木马了,请问怎么解决?? 急问:"0x77fcb8f4"指令引用的“0x00000000”内存。该内存不能为“writter” 关于文件名问题 delphi6有没有判断字符串是不是全是字母或数字的函数? 顯示日志源代碼,但無法分頁,請高手... 用isql怎样得到数据库里所有表的列表? 请大家帮我检查一下这个公式??? 将60℃的硫酸铜饱和溶液100克,冷却到20℃,下列说法正确的是将60℃的硫酸铜饱和溶液100克,冷却到20℃,为什么 溶液质量会变小 ,浓度减小,溶剂质量减小?求详解..谢谢谢谢. 请问有没有卖给鱼缸用的使用电池的加热棒?要有温度手工调节的功能注意是使用电池的.5号1号7号充电电池皆可. 我国哪个城市地形最险要古代的地形 为什么钠可以作原子反应堆的导热剂 如何计算加热棒所产生的最大温度我在有一块1.5KG的铁 需要加热到260度 请问需要多大功率的加热棒 (我现在用2根8*60 功率为150W的,但是温控显示只能达到235度 不知道是热电偶没装好还是加 生活怎样才简单 Na,K合金可作原子反应堆的导热剂.为什么 请问茶是发源与中国吗?茶的历史以及西方的茶与东方的茶的简介!希望短小一点,不要将无关的话贴上来, 山势很高2气势雄伟3地形险要那一个 鸦片战争时期中国贫困落后的根本原因 控制温度,我用一个PID控制加热棒,再用一个PID控制冷水,使温度保持恒定,可以实现吗?我想让一个小罐实现恒定的温度控制,想通过以上2种PID控制,是否可行呢? 山海关险要的地形可用什么八字成语 鸦片战争前夕中国落后于世界的原因 为什么最早的化学萌芽在中国 却在西方成为一门正真的科学 怎样在生活中活得简单生活总是给人太多压力,怎样简简单单活着 炼油厂油的燃烧是把化学能转化为什么能 天气温度为5~10度,直接用加热棒加热到23度可以吗?我的鱼缸实际水位为50*25*35MM,天气温度为5~10度,今天刚买了一个300W的加热棒,直接放在鱼缸加热可以吗?我养的是普通的金鱼和锦鲤鱼.加热到几 在生活中你觉得简单点好吗?为什么? 将60度的硫酸铜饱和溶液100克,冷却到20度,下列书法正确的是A 溶液质量不变 B 溶剂质量发生变化 C 溶液为饱和溶液,浓度不变 D 有晶体析出,溶剂质量不变 为什么最早的化学萌发于中国却在西方成为一门真正的科学? 可不可以简单的生活? 将12.5克五水合硫酸铜制成百分之十的硫酸铜溶液 需要水多少克计算式完整一点 再告诉我要不要考虑水合 我国炼丹术西传,开启了西方近代化学之门,但后来我们在化学研究上却远落后于西方,为什么?我国炼丹术西传,开启了近代化学之门,但后来我们在化学研究上却远远落后于西方,这是为什么? 现在,为什么那么多高中生觉得物理难学? 请问五水头孢唑林钠是第几代抗生素,是属于特殊使用吗 中国共产党探索出的革命道路与俄国十月革命道路的异同 英语翻译P1:a friend offers you cigarettes at a party.A:of course you should refuse if i were you,i'd also talk to your friend about the dangers of smoking .P2:children often think medicine is cand and eat it.A:you mut always hide medicine from ch 鸦片战争后中国社会的趋势?从经济上、政治上和思想文化上来说! 分子节构由60个原子构成的象足球的分子模型是什么 英语达人进,If I do,so will he.这句话为什么后面用so will he?请理论解释.就是为什么用willbe 和 have 的区别.就是比如下周有个party,是用will be 还是will have.不只是party,只是举例子……反正就是这方面 忐忑不安的解释 鱼缸加热棒老停鱼缸长方形的,加热棒在一头,估计另一头还没热它就停了,半分钟不到又开了,我该怎么办阿? 初三英语翻译:1,要是他不这么忙,他就和我一起来了If she (were) not so busy,she would (come) ( with) me.是否正确2,在众人面前讲话我会觉得很有自信I feei (nerwus) (talking) in front of many people talking是否争 忐忑不安, 在酸性溶液中,能大量共存的离子组是A:Mg2+.Fe3+.NO2-SCN- B :Al3-.Fe2+.Cl- ,SO42在酸性溶液中,能大量共存的离子组是A:Mg2+.Fe3+.NO2-,SCN- .B :Al3-.Fe2+.Cl- ,(SO4)2-C:K+,Na+,Cl-,( HCO3)-D:Na+,Ca2+,(NO3)-,(SO4)2- 仿生学是一门怎样的学科? 为什么明朝起义的是农民阶级的李自成,不是资产阶级呢为什么张居正会这么早死呢. 抗生素自来水,喝着安全吗 仿生学是怎样的学科? 什么是生态旅游? 喝自来水安全吗?长期喝过滤过的自来水健康吗? 仿生学例子(1个) 快 如何在贵州发展生态旅游,1什么是生态旅游.2为什么要发展生态旅游 物理层与数据链路层的区别 物理的填空题 为什么只能用水对反应堆进行降温?不能用干冰、液氮之类低温的东西么?是会起反应还是其他原因? 常见的物理层传输媒体是什么? 清道夫总是在鱼缸壁上一动不动,是冬眠了吗?冬天鱼缸里没用加热棒,水的温度在17℃.鱼缸里还养的锦鲤,一个星期后水总是特别混,还想问一下是不是锦鲤生病了?清道夫不工作,鱼缸壁上很脏, 氨气和什么生成HCL 忐忑不安什么意思? 为什么总是那么孤单 天生不会与人建立和保持友谊 不会不懂不能与人交流沟通 不知要说些什么患者信息:男 22岁 病情描述(发病时间、主要症状等):在一个环境里面 从开始的不会不知不能 什么反应生成氨气求助:一般怎样的反应类型生成氨气的啊?有什么规律吗?把总结性的化学方程式写出来啊!最好配上几个例子! ------------初中化学! 如何将高压数显上的电流转换成低压电流表的读法? 寂寞是种怎样的杯具我不知道 但我知道……我自己一个人杯具的在电影院里看专扁衰仔 什么与水缓慢作用生成氨气化合物A与水缓慢作用生成氨气和化合物M,其中化合物A只含两种元素.请问A和M分别是什么? 为什么高压电流小低压电流大 学校要求六(1)班第一小队在劳动基地种向日葵若干棵,队长是这样分配任务的:刘利要种10棵和余下的1/10;剩下的任务,由赵楠种20棵和余下棵数的1/10,再剩下的任务,由王强种30棵和棵数的1/1 用什么加热来生成氨气 热带鱼加热棒,在使用时,是否需要将整个加热棒泡到水里,能不能把调节温度的头全浸入水中. A.希望得到 B.索取 C.需要;应该D.重要 E.将要 F.结果 印度一客车30日因油箱起火发生爆炸,土耳其称若与中国磋商失败 将重招标反黑龙江肇东一市民30余万征地补偿款被宁国就“副市长看望百岁老人PS照片”范长龙会见马来西亚国防部长“桑迪”吹袭一周年 纽约仍致力重建肯尼亚将起诉“9.21”恐怖袭击案嫌日爱子公主学习成绩优异 有望进东京大欧盟向安第斯国家提供控毒援助日本京都净福寺时隔近百年展示秘藏佛像中国军舰靠近日领海返航 日防相称须加一辽宁籍渔船与韩国籍货轮碰撞后沉没 欧盟向安第斯国家提供控毒援助秘鲁警方查获数百万美元和欧元假钞日美东京研讨会:美主张以 “和平” 女子新婚被夫家要求不穿内裤 婆婆:以浙江金华建首个流浪狗临时收容站 市民三中全会多出重大决策 尤以经济改革决中纪委:提高纪检监察干部培训师资教学奥巴马极力摆脱“监听门” 美国安局恐报社原副总杀妻案二审开庭 羁押6年一卢氏县:打造百亩玫瑰基地发展生态观光“千人相送”的“好书记”竟损公肥私卖融入“一带一路” 石家庄 杭州 泉州首届北京大学临床学科评估发布汤普森单节16分+两节0分 水花兄弟民政部工作组赶赴河南鲁山协助处理康乐火箭与勇士合计投中37记三分! 创联联署未过关 杨志良:小辣椒真的太辣了37岁特里表态100%征战下赛季 火4次濒临淘汰火箭全部取胜 德州小强终世锦赛国羽双打满额参赛 蔡赟搭末班车财经观察:英国脱欧争议风浪有多大?比小苹果更洗脑!大妈挑战萧敬腾舞蹈走霸王洗发水“Duang上大事”揽获中“娃娃飞行员”亮相航展 帅气造型萌翻中老年镶牙从挂钩向无挂钩转变整形美容开启微整形时代伊利强化科技创新持续助推“健康中国梦凤凰涅槃奶业市场百花齐放中消协:斯泰得乐加湿器实测功率偏高 香港中文大学(深圳)在粤启动“双轨制
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘