首页 web前端 H5教程 克服 iOS HTML5 音频的局限

克服 iOS HTML5 音频的局限

May 10, 2018 pm 05:05 PM
h

       简介

       过去几年,开发人员一直都在制造完善的交互体验,努力使其可以在浏览器中正确运行。这样的站点通常需要使用浏览器插件 (Flash)。随着智能手机和平板电脑的推出,交互体验看似与新的小部件能够完美匹配。但是,由于移动设备的处理能力有限,浏览器插件不再是一种可行的开发平台。

       HTML5 已经添加了大量无需额外插件的使用的工具。W3C 的 HTML5 规范仍在开发之中,但是在规范开发过程中,浏览器已经开始提供支持。

       HTML5 音频是一个巨大的进步,它允许在浏览器中嵌入声音,尤其是在移动设备中,比如 iOS 的移动版 Safari 浏览器上。尽管 HTML5 音频是一个新特性,但已提供了 iOS 支持。根据流行的移动应用程序 Instapaper 的开发人员报导,2011 年 11 月,其 iOS 用户中有 98.8% 都在使用 iOS 4 或更高版本(请参阅 参考资料)。由于 HTML5 音频是在 iOS 3 中引入到移动版 Safari 中的,所以您可以放心,iOS 平台为 HTML5 音频提供了广泛的支持。

       在文本中,您将了解 HTML5 在桌面上和移动版 Safari 内的局限性,并尝试采用一些解决方案来创建交互的声音效果。本文涵盖的其他内容包括:不受支持的事件、audio sprite 以及如何使用 directCanvas 和 multiSound 加速 HTML5 游戏性能。

       有一点非常值得关注:对于 iOS 6,Apple 已经添加了对 Web Audio API(讨论如下)的支持,因此不再需要使用本文中所讨论的许多变通方法。不过,iOS 6 刚刚面世不到几周时间,所以 iOS 5 仍然是市场的主流。本文中所讨论的问题以及所提供的变通方式仍有效,应该在为移动版 Safari 开发声频时考虑使用它们。

       HTML5 音频的局限性

       在讨论移动版 Safari 中的局限性之前,有必要理解 HTML 音频在桌面上的局限性。HTML5 音频虽然很健壮,但有其局限性,这主要取决于它的实现。对于音乐播放器(点唱机播放器)或简单的声音效果,它很有效,但是对于声音密集的应用程序如游戏,它的表现不是很理想。

       格式支持

       不幸的是,并不是所有浏览器都支持相同的视频文件格式。如表 1 所示,目前有四种主要格式:MP3、OGG、WAV 和 AAC。

       为了涵盖所有浏览器,最好是让所有的视频流都具有 Ogg Vorbis 和 AAC 两种格式。

       为什么没有包括 MP3?MP3 在进行商业传播时需要支付繁重的版税。MP3 的授权要求对于所有超过 $100K 的数据收取 2% 的传播费。出于这个原因,我更倾向于使用 AAC 而非 MP3。AAC 也并非完全免版税的,但它对于免费传播的许可没有那么严格。AAC 还提供了更好的压缩,文件可以更小,它是 Web 领域的福音。

       Ogg Vorbis 之所以压倒性地获得了我的喜爱是因为它是开源的、无专利费并且免版税的。不过,只有 Firefox 支持它。

       清单 1 显示了跨浏览器兼容 HTML 标记。

       清单 1. 音频元素的 HTML 标记

       处理和效果

       在处理音频时,一个强大的特性是处理声音的能力。无论动态合成声音、处理声音效果、应用环境效果,还是进行基本的立体声平移,HTML5 音频缺乏所有这些处理能力。您加载的视频就是将要播放的视频。

       Web Audio API (Chrome) 和 Audio Data API (Firefox) 无需任何浏览器插件即可进行合成和动态处理音频的能力帮助您解决了特性缺失的问题。这两种 API 均在开发当中,仅在 Chrome 14+ 和 Firefox 4+ 中受支持。不幸的是,在实现方面这二者差异很大。目前有一些表现不错的库可用来使支持正规化,比如 audiolibjs(请参阅 参考资料)。Chrome 的 Web Audio API 就是通过 W3C 推广的标准。

       单音频层(多音的)

       要重复播放声音本身,必须实例化此声音的一个单独的音频对象。在标记和能够播放的音频之间存在 1:1 的对应。对于当前状态的 HTML5 音频,是无法分层的。其他平台,比如 Flash,可以分出一个单独的音频对象,无需创建一个新的音频对象。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

uniapp如何实现小程序和H5的快速转换 uniapp如何实现小程序和H5的快速转换 Oct 20, 2023 pm 02:12 PM

uniapp如何实现小程序和H5的快速转换,需要具体代码示例近年来,随着移动互联网的发展和智能手机的普及,小程序和H5成为了不可或缺的应用形式。而uniapp作为一个跨平台的开发框架,可以在一套代码的基础上,快速实现小程序和H5的转换,大大提高了开发效率。本文将介绍uniapp如何实现小程序和H5的快速转换,并给出具体的代码示例。一、uniapp简介unia

哪个版本更稳定:win1121h2还是22h2? 哪个版本更稳定:win1121h2还是22h2? Jan 04, 2024 am 08:53 AM

win1121h2和22h2两个版本相比较的话还是后者22h2更加稳定一点,22h2的功能也是更加多一点的,相较于之前的21h2,很多功能都得到的提升一起来看看吧。win1121h2和22h2哪个稳定:答:22h2更加稳定win1121h2和22h2两者相比较的话22h2更加稳定一些。22h2增加了很多的功能,而且21h2的问题也在22h2中得到了改善。22h2更新功能:开始菜单中的应用程序文件夹。开始菜单中可调整的固定区域。在任务栏上拖放。焦点辅助与通知中心实现整合。新的“聚光灯”墙纸功能。新

win101909和21h2比较哪个更好? win101909和21h2比较哪个更好? Dec 26, 2023 pm 02:01 PM

Windows101909目前被认为是最为稳定可靠的版本之一,然而令人感到遗憾的是,该版本的服务支持已于近期结束。而21H2则是一个比较稳定的版本,其实从实际情况来看,二者都是很不错的选择。win101909和21h2哪个好答:1909更稳定,21h2则会更安全。在目前的环境中,1909仍然被普遍认为是最为稳定可靠的版本之一。不过Win101909版本已于2021年5月11日正式停止服务WindowsServer21h2则致力于为广大用户提供更多专业化的IT功能支持。1、经过众多用户的实际测试反

哪个是比较好的选择:win1123h2和22h2? 哪个是比较好的选择:win1123h2和22h2? Dec 28, 2023 pm 03:09 PM

Windows11系统中23h2版本和22h2版本分别先后于2023年和2022年发布,一般来说,系统的更新是越来越好,小编也认为23h2的版本比22h2的版本要更好一些。win1123h2和22h2哪个更好答:win1123h2更好。据介绍,win1123h2是22h2到下一个版本的累积的版本更新,而且它们都是相同的平台。这也就意味着这两个版本之间是没有任何兼容性问题的出现的,建议大家及时更新一下。win1123h2版本给我们带来了许多实用的功能,比如说任务栏窗口应用的永不合并的模式。还有更加

解决无法获得Win11 23H2更新的问题 解决无法获得Win11 23H2更新的问题 Jan 14, 2024 pm 09:24 PM

大家最近都想要更新Win11的23H2版本,但是一小部分的用户至今还没有收到更新推送的消息,可能是后台更新进度中的某个进程卡住了,过段时间就好了。Win11更新获取不到23H2怎么办方法一:耐心等待如果用户查看电脑的更新升级情况,发现它卡住了,我们可以等待一段时间,系统就会继续更新的。方法二:清除更新的缓存如果用户之前更新过系统,而且未清除过更细腻的缓存就会影响23h2的正常更新,可以手动清理一下。方法三:使用镜像安装推荐大家到微软的官方网站去下载win1123h2的镜像文件,然后执行更新该文件

如何将Win101909更新为20H2 如何将Win101909更新为20H2 Jan 05, 2024 pm 09:53 PM

现在win101909版本已经停止了更新,因此不少用户想要更新自己的系统版本却不知道怎么操作,用户只需要进入到电脑的设置里面找到对应的升级就可以了。win101909怎么更新到20h21、点击电脑开始键,然后点击“设置”2、再点击“更新和安全”3、在这里找到检查更新4、然后找到对应的版本以后再点击下载安装,然后等待电脑自己更新就可以了。

win1121h2和22h2区别 win1121h2和22h2区别 Dec 28, 2023 pm 01:48 PM

win1121h2和22h2是win11系统的两个安装包,后者相较于前者有一个很明显的优化,而且兼容性更加的不错,下面我们就来一起看一下优化了哪些地方。win1121h2和22h2区别:1、触控新增了开始菜单中的文件夹,任务栏上的拖放功能,还有新的触控手势还用动画。2、实时字幕还新增了实时字幕无障碍的功能,对于一些想要添加字幕的人来说这确实是一个很好的功能。3、语音访问我们还可以通过语音来控制电脑。4、任务管理器新增了一个新的黑暗模式还有改进后布局。可以更好的提升效率,而且snap功能呢在22h

如何使用PHP和H5实现实时游戏开发 如何使用PHP和H5实现实时游戏开发 Jun 28, 2023 am 09:06 AM

随着互联网技术的发展,网络游戏已经成为了人们生活中不可的一部分。而实时游戏则是其中一种极具挑战性的类型,要想顺畅地实现游戏中的实时交互,开发人员需要使用高效的技术手段。本文将介绍如何使用PHP和H5实现实时游戏开发。一、实时游戏的概念与特点1.概念实时游戏是指玩家通过互联网连接到游戏服务器,进行多人在线游戏,同时可以实时地和其他玩家进行交互和竞技。实时游戏的

See all articles