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

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

从40亿美元到10亿美元 Hulu的美梦是否又一次成为泡影? 百度开发者俱乐部第六期:BAE3.0开放内测 云编程马拉松启动 微软宣布将于今年9月30日正式关闭MSN TV服务 程序员不应该再犯的五大编程错误 中国开源事业,路在何方? StackOverflow上的编程趋势 Oracle悄然将Berkeley DB许可证更改为AGPL 简单易用,保护隐私:麻省理工的邮件数据挖掘分析工具Immersion Microsoft Ventures进入中国,为云生态系统构建提供加速度! 这是场战争:盘点那些参与智能手表竞争的厂商 三星豪掷80万美元奖金 第二届全球开发者挑战赛开幕 MongoDB Map Reduce速度提升20倍的优化宝典 腾讯云总经理陈磊:可信任云服务背后的技术支撑力 “叫好不叫座”的石墨烯也许会给我们带来更清凉、更长寿的计算机 微软WPC 2013:Windows 8.1将于8月底提供给OEM合作伙伴 TIOBE 2013年7月编程语言排行榜:PHP强势回归 扁平化设计或成下一个流行趋势吗? 永生、登天、出唱片、开托儿所,IT大佬业余还玩什么? 终于盼来了:苹果iOS7 Beta 3、Xcode5预览版 可堆叠的创意 开源硬件Microduino开发团队专访 致任天堂的公开信:我想在iPhone上玩超级玛丽 为什么OpenStack被视为新的Linux? Netflix开源Pig可视化框架:Lipstick Tangle:一个开源的数据交互式JS库 云储存服务Dropbox用户达1.75亿 旨在同步而非保存 Windows Server 2012 R2里十个极好的新功能 走向台前的地图服务 彰显LBS应用的创新力量 调查显示:1/5的企业采用SDN技术 Chrome 28正式登陆Windows及Mac 成首个使用Blink内核的浏览器版本 不只是Chrome,Firefox也开始支持Web Audio API 验证HTML的5个原因和5个资源 gqxs (小龙)请进,看到你去年的一个关于注册的帖子,我也出了像你一样的问题,请大家都来看看。 DBDateTime控件在哪里可以找到? 那为能够帮我解释一下SQLBindCol函数,特别是参数。 如何操作recordset,使其能够手动付值!即用 window nt和window 2000 server能不能象windows professional那样设成重启后自动登录。 关于语音视频聊天室 高手进入 来者得分 通过GUID枚举设备的问题请教! 代码不懂请指教 如何用javascript控制表单提交? (急急-在线等)一个复选框的问题 如何让服务器知道前来访问的客户机物理内存大小? 急,急,帮我看看。一个初级问题。 用思科1721路由器代理上网和连接网络电话功能够用吗? 请问用嵌入式系统开发的成本大约是多少? 如何获取两个日期之间相隔的天数? PB中如何操作文件。 在线等急盼tomcat启动问题 我的奔4电脑不能装oracle8。1。7 java 与oracle数值类型转换问题 请教“数字权利管理”(digital rights management)和P3P的实现问题? IBM DDYS-TO9170M SCSI 硬盘,如何看它的CACHE,写者10000转的, 数据插入速度问题 一个关于自定义类的问题,请帮助! 如何使用DBchart? DELPHI+CORBA 求救!!!! 请问java中如何获得windows的系统目录? 大家看看这台服务是出了什么问题?帮帮忙!!! 一个想把控件内容打印出来的小问题! 如何查看表中各字段的长度? 谁能给出一个ASP.NET应用存储过程的例子 self::node()是否就是 . 高分求救::关于分类显示的问题. c#里的编辑列的激活事件写在哪里? 一个基础小测验 如何获取客户端机器物理内存大小?急!!! 急问:我的VC6.0里的Icon编辑器为什么只有16种颜色 谁有这样的曲线绘图源码,一定重分相谢! 怎样去除启动菜单? 调用自建文件时,报错“重复定义”,为什么? Rave做报表时,要求preview时,不出现那个OutPut Options,并且预览时,要求全屏显示 请问映射文件里添加纪录应该怎么做阿 怎样让下拉列表中选定的值对应为数据库中的值~! 怎样去除启动菜单? asp.net 怎样学习 请问我的要存放含有‘年月日时分秒毫秒微秒’的数据能否用date类型存储? 谁来帮我解决一下问题——解决者另外加分100 问:sys/wait.h 是unix下的一个宏吗? 救命! 请问高手 网页问题 再次跪求教物资进库表和物资库存表的问题! how do i geel as a typical dog goes by?how do i feel as a typical dog goes by? 他们脸上浮出了笑容用英文怎么说啊 语义格是什么 英语翻译tkie bsns 7个人 全用了subtle这个词啊。还有没有其他表达 不鸣则己的下一句是什么? 翻译∶爱情是甜美的翻译成英语 “如鸣佩环”是啥意思?是形容流水声?石潭记里面看到的. 飞流直下三千尺,疑是银河落九天. 飞流直下三千尺,疑是银河落九天的三千、九天是什么意思? 急急急急急急急急急急急急急急急急急急i! The Wangs are a typical Chinese family.Life for all the family 1------ is very busy.Mr.Wang is 2------- salesperson of a big computer company.He has to compete 3------ others and sell enough computers every month.If not ,the manager will be 4-------- 寻雾启示用英文怎么说?一个人要我把寻雾启示的英文给说出来,本人英语不太好… 新加坡建房局凭借公共住房项目获得国际阿富汗总统选举唯一女候选人被取消竞选巴西男子计划耗时8个半月穿夹脚拖走遍马副首相为选举造势 出席者可获得小鸡法国数百活动人员斗牛场前集结 抗议斗东京惊现旧日军哑弹 实施爆破超过千人澳大利亚一墓园将举行恐怖派对迎接万圣德外长:美情报机构监听盟国造成巨大政专访:能源领域是中墨合作的良好平台英气象局发高级预警称英或迎来十年最大日本一杂志启用胖模特 专为胖女孩设计硅谷著名VC Bernard Moo库存意外下降油价反弹,40美元/桶将不把安全放心上,飞奔的“小毛驴”闯了重度雾霾再次来袭 环保股凸显长期价值华为的“赵科林式”挑战下半周危险指数会迅速上升 操作上应越建筑、金融、医药等企业创新最活跃“2.5天小短假” 广东暂无举措雷克萨斯举办全混动品鉴会TVB“视帝”“视后”将花落谁家,广东队收获平局末日行尸之浩劫大宋桃花使辰迷穿越记魔物娘养成计划都市仙猎重生女配合欢仙琥珀之浪掌乾坤甜园福地妖妖玉仙庶女慧娘牛街礼拜寺旅游濯水古镇旅游阿蓬江旅游鹞子寨旅游楚望台旅游武汉动物园旅游昌州古城旅游大皮院清真寺旅游龙潭万寿宫旅游桃花源旅游贝尔湖旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘