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

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

一个用VB5.0 实现的鼠标绘图程序 用VB6.0制作画图板 用VB6设计有趣的动画场景 用VB编程绘制网格图像 用VB绘制抛物线动画曲线 用VB绘制正弦动画曲线 用VB实现“百叶窗”的图形特效 用VB实现托盘动画图标 用Visual Basic 定制BMP文件 用Visual Basic的Move方法实现动画效果 用Visual Basic与MS-Draw开发通用作图软件 在VB中获取可执行文件及Windows 95快捷方式的图标 在VB中进行各种图形切换的方法 在VB中制作可滚动的图像显示 在图片上平滑移动文字 -VB资料 VB怎样使程序的标题条闪烁? VB制作图像的Mask图 CWinInetConnection-一个封装了WinInet API函数的类 -VB资料 MODEM通讯意外处理-VB资料 MsComm 文字传输-VB资料 PING一个IP地址(向它发送一个数据包并等待回应) -VB资料 SMTP协议简介 (Simple Mail Transfer Protocol) -VB资料 VB5.0 中远程数据库的访问 VB下如何编写CRC校验程序 Visual Basic 6中发送邮件的新方法 Visual Basic通信程序设计 Whois 示例程序-VB资料 Winsock Terminal示例程序 -VB资料 WinSock断开导致客户端问题-VB资料 把Outlook信箱中的附件另存为 -VB资料 保证连网计算机时间同步-VB资料 我双击注册表编辑器出现"注册表编辑器被管理员禁用"是怎么回事?怎么解决? 如何更改Oracle显示日期的默认方式? *****高手请进****** ======================各位高手,看一下!UP也有分! 请问安徽的高程成绩什么时候可以查? 请问谁知道vb里面如何调用notes对象,怎么调用? 急急急,我好急,有没有办法先把记录集处理一下在绑顶到datagrid 请问为什么这一段XML代码运行不了???为什么???帮帮忙??多谢!! 请教有关手机方面的问题 连编好的可执行文件不能用 帮帮忙啊 哪儿有免费的jsp空间并且有数据库支持的?谢谢 客户机的WinSock控件采用TCP协议,如何使用预设的固定的端口? sos!Help me! 有谁知道怎样用Capwnd控件(用于捕获视频的控件)?? 请帮我看看,谢了 请问如何控制imagecombo控件的下拉高度呢? 能告诉我什么是回调函数吗?注册的系统回调函数中引入的参数能在别的地方得到吗? 在RicheEdit里的字体颜色都是黑色,能变成其他颜色吗? 请问在视中如何使主框架的某个菜单项变为不可用(代码如下,错在什么地方,如何改?)! 请教VFP中GRID的显示和取值问题 请教一些有关用ROSE进行UML设计的问题 高薪寻找合作者:医院信息管理系统 求救!!!!为什么必须多按reset键才可以启动?? 請教: WideString如何存入數據庫image字段? 如何判断一个字符串是数字串?要源码(无内容) 登陆某些网站后浏览器的默认主页不能更改,怎么办???谢谢 请教简单的API函数的问题 ! 简单问题,怎么样得到下拉列表的选项?????最好有简单的原码 主  题:高薪寻找合作者:医院信息管理系统 上海机械电脑有限公司??? 小弟刚刚开始自学pb有好多问题想请教各位老大 HW待遇到底咋样??? 谁在CB里面用过游标? 关于网络协议软件的开发问题,编译成什么形式? 我是个新手,请教Linux下面C编程,该怎么入手,该看些什么样的书?来则有分!!!! 高分求源代码!又谁做过票据打印的软件!帮忙给点源代码! 如何执行insert 语句效率最高 数据窗口相同记录的判断??? 关于网络协议问题 求救,怎么判断试用版的试用天数? 关于IE的问题,help~~~ 请各位老大帮忙啊 请问如何串行化一个COLORREF变量,急---谢谢! 急,急,急,数据库更新的问题 win98下的DrawText api函数与Win200Server下的有什么不用呢? 评选水园“十大杰出青年”,请大家踊跃推荐(自荐)参评! 这个(Oracle)存储过程错在那?很简单,各位大虾看一下,一定给分!!谢谢啦!!!!! 好久不来了,有个问题请高手指点! 怎样设置SQL2000的某一字段为自动类型 熟悉GDI函数的朋友请进 生活中的能源有哪些? 未受人类生活和生产影响的自然环境 天然有机高分子材料就是天然材料吗?羊毛,煤什莫的 生活能源消费与宏观经济的关系 世界上使用的天然橡胶大部分来自东南亚,为什么?怎么办呢? 天然有机高分子材料是什么? 颜料属于涂料类吗?颜料的成分有哪些?跟涂料有什么不同? 能源利用历史 人类历史上的四次能源革命 几千年来,人类未能全部利用的化石燃料的能量到哪去了?能量守恒原理告诉我们,能量不会无缘无故的消失,这些未利用的能量是否散失到宇宙中去了?是否散失在空气中,对大气温度有影响?也就 影响生态系统稳定性的因素包括自然因素和人为因素,它们往往是怎么样的,人为因素可以导致自然因素的怎样 简要介绍下人类历史上三次能源革命 是能源革命 能源 东南亚的天然橡胶和棕-油产量居世界首位的国家是其中划横线的是我不认识的字~~~~~~~~~ 人类使用金属材料的发展历程,150字左右.详细的年代和金属名称. 迄今为止人类历史已经历了几次信息技术革命急用!越快越好,谢谢 求数列{n/n^2)的前几项和 用错位相减法完成(要过程) 三江源地区生态环境恶化因素 人类历史上经历了什么信息革命 cn=(n-1)·2^(n-1),求此数列前n项和,用错位相减法演示一下, 现在地球上生态环境恶化的主要原因是什么? 人类历史经历了哪五次信息革命 东南亚地理介绍(详细) 三江源地区生态脆弱的主要原因A.地势高,气候寒冷 B.冰川众多、湿地广大C..地形崎岖,交通不便 D.深居内陆,远离海洋我想问为什么不选B 水准仪测量 太阳辐射对人类生活影响的具体表现 怎样鉴别是羊毛,棉花还是化纤制成的 电子水准仪如何测量四等水准关键是条码水准尺,没黑红面.一般用什么样表格填写 东南亚的自然地理 怎样区分羊毛和棉花?现象是什么? 棉花机可以弹羊毛衫和废旧衣服不? 东南亚的经济发展是以旅游业为主,还是以加工出贸易为主?另外,东南亚经济包括转口贸易吗? 棉花 化纤 羊毛区别棉花 化纤 羊毛分别在酸 碱溶液中的变化和燃烧时的现象 羊毛衫扎人怎么办?怎么处理羊毛衫扎人? 地理——东南亚人们为什么称马六甲海峡是沟通亚洲与大洋洲之间的咽喉?请说明理由 人类在历史上的生活正如?求接连! 纽扣常用高分子材料 人类在开发各种能源的同时,引发了哪些环境问题你应该如何解决 人类在历史上生存多久? 棉花是高分子化合物么 彩涂钢板怎么涂?比如说涂聚氨酯和聚酯,是混到一块还是分别涂? 在人类开发各种能源的同时,引发了哪些环境问题?大家认为该如何解决这个问题?紧急提问!紧急提问!紧急提问!紧急提问!紧急提问!紧急提问!紧急提问!紧急提问!紧急提问!紧急提问!紧急提问! 人类的传统生活方式是什么? 美国人口仅占世界人口的4.6%,但为什么消耗能源占23% 生物要生存必须要有源源不断的能源供给,而这一能源主要来自? “人类在历史上的生活正如旅行一样”用的是什么修辞手法 耐高温隔热保温涂料特点北京志盛威华公司的耐高温隔热保温涂料的特点,请指教 东南亚国家中产天然橡胶最多的国家是()A、马来西亚 B、泰国 C、印度尼西亚 D、菲律宾 作者认为人类在历史上生活应该拥有怎样的心态?不要那种一大片的那种没有用的东东( ⊙ o ⊙ 这是8艰难的国运与雄健的国民的作业本上的 还有一个啊:上文采用了比喻写法.请选择一个比喻 人类如何浪费能源和节约能源 东南亚天然橡胶的产量、出口量均居世界首位的国家是 如何用水准仪测量两点间的水平距离? 现在人类创造能源的速度能赶上消耗能源的速度吗? 半坡人和河姆渡人生活的自然环境对人类生产生活影响 利用水准仪测量距离他能测量多少米 我发觉读数他一般上丝减去下丝都不超过1M 而距离计算是上丝减去下丝乘 100 我想知道他能测多少米的距离 求高中数学数列错位相减例题 自然环境是人类生产活动与生活活动的物质基础.秘鲁山区的印第安人深受安第斯山脉自然环境的影响他们日常生活中的衣、食、住、行等方面都留有山区环境的烙印.请你说一说秘鲁山区印 棉花羊毛蚕丝都是天然的高分子化合物.都属于天然纤维. 生活中哪些地方需要能源? 人类活动对自然环境的正面影响 水准仪怎样测量距离
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn