Chris Kho 详述主流浏览器的HTML5音频支持情况 (chrisking)


作者,ChrisKhoo叙述HTML5音频支持状态糟糕的文章已有很多,事实就是如此,所以我不会在此赘述这一观点,相反,我主要着眼于开发者在特定平台中将会遇到的问题及潜在解决方式,HTML5audiofromcodecanyon.ne上表总结了网页浏览器当前的市场份额,InternetExplorer依然是主要的桌面浏览器,紧随其后的是...。

(贝云网络科技)

Chris

作者:Chris Khoo

叙述HTML5音频支持状态糟糕的文章已有很多。事实就是如此,所以我不会在此赘述这一观点。相反,我主要着眼于开发者在特定平台中将会遇到的问题及潜在解决方式。

HTML5 audio from codecanyon.ne

上表总结了网页浏览器当前的市场份额。Internet Explorer依然是主要的桌面浏览器,紧随其后的是Chrome和Firefox。在手机领域中,Safari主导市场,这主要归功于强大的iOS品牌,紧随其后的是Android。因此,我们将照此顺序逐一进行论述。

给刚着手植入音频内容的开发者的建议:建议在音频层上采用SoundManager 2。目前,这是最佳Javascript音频库。植入过程非常简单,API非常整洁,能够在BSD Open Source许可下获得。此外,这一工具的过人之处在于,提供免费第三方代码更新和维护。

Internet Explorer

IE 8及其以下的版本不支持HTML5画布和音频,所以这又回到:图像部分基于DOM操作,音频部分通过Flash技术。采用SoundManager 2能够让你在于旧版IE浏览器中支持HTML5音频的过程中省下很多麻烦。

IE 9则完全不同。HTML5画布和音频表现突出。若微软放弃Win XP OS,IE 9的使用率将大幅提高。

这将是微软的明智之举。

Chrome 18及更高版本支持HTML5音频和画布。但HTML5音频只有在网页服务器支持部分下载的情况下才能够顺利运作。这一问题的症状有:

* 无法重播音频

* 无法控制重播位置

* 音频播放一次后停止,但“结束”事件没被激活

解决这一问题最简单的方式是,在网页服务器上启动远程请求。注意,Google App Engine并不支持远程请求,但我们可以通过执行支持远程请求的文件服务程式解决这一问题。

另一避开这一问题的方法是,避免采用内置循环函数,通过load()函数“倒回”,在此播放音频。这能够解决问题,但会提高网页服务器的负荷。当加载函数在音频实例中被调用时,网页浏览器就从网页服务器上提取音频数据。

另一选择就是运用Web Audio API。主要缺点是,目前只有Chrome支持Web Audio API,而且只支持版本18或更高版本。它的突出优点是,Web Audio API通过提供音量和摇摄控制及即时过滤,解决HTML5音频的所有缺点。

Safari和Chrome都是基于Webkit的浏览器,二者存在类似的优缺点。和Chrome一样,Safari支持HTML5画布和音频,但Safari不支持Google Web Audio API。

遗憾的是,Safari也有和Safari类似的缺陷——它和不支持部分下载的网页服务器所提供的音频不同。Safari的症状截然不同:

* 少量/简短音频没有问题

* 冗长音频就无法播放,会发送音频文件格式受损的错误提示

解决这一问题最简单的方式是,启用网页服务器的部分下载功能。补救方法具体查看Chrome版块。

Firefox 3.6及更高版本支持HTML5画布和音频。但Firefox 3.6的音频支持存在许多漏洞——简短音频无法播放,中长音频没有问题。如果你寻求更高级的音频支持,Mozilla基金会目前正在执行自己的Web Audio API——Audio>


您更相信哪种广告渠道的信息&#8211 Nielsen 数据信息图 (您更相信哪种爱情观)

Chitika 苹果iOS用户对Safari浏览器使用率为85% (Chitika)

评 论
请登录后再评论