HTML5 - 音频和视频
文章信息
目前,在网页上嵌入音频或视频,最常用的是Flash等格式。这需要Adobe Flash插件,并且结合<object>和<embed>标签。大多数用户已经安装了Flash插件(事实上,大概95%的上网用户都装有Flash的某个版本),但HTML 5的支持者正在推动一个开放的,不需要任何插件的多媒体标准。这就是HTML 5的新标签<audio>和<video>带来的新特性,他提供了一个嵌入音频或视频(以及与其交互)而不需要类似Flash的私有插件的方法。然而,多媒体并非那么简单。不仅仅是浏览器需要理解这些标签,而且需要一个必要的编码译码器来播放音频或视频。明显的解决方法只能是HTML 5规范的设计者们选择一个编码译码器,并且让每一个浏览器执行。
HTML 5 音频
直到现在,仍然没有一个在网页上播放音频的标准。今天,大多数音频是通过插件(比如 Flash等)来播放的。然而,并非所有浏览器都拥有同样的插件。 HTML5 规定了一种通过 audio 元素来包含音频的标准方法。audio 元素能够播放声音文件或者音频流。
当前,audio 元素支持三种音频格式:
| IE 8 | Firefox 3.5 | Opera 10.5 | Chrome 3.0 | Safari 3.0 | |
|---|---|---|---|---|---|
| Ogg Vorbis | √ | √ | √ | ||
| MP3 | √ | √ | |||
| Wav | √ | √ | √ |
注: Internet Explorer 8 不支持 audio 元素。在 IE 9 中,将提供对 audio 元素的支持。
如需在 HTML5 中播放音频,您所有需要的是:
<audio src="song.ogg" controls="controls">
</audio>
ontrol 属性供添加播放、暂停和音量控件。<audio> 与 </audio> 之间插入的内容是供不支持 audio 元素的浏览器显示的:
<audio src="song.ogg" controls="controls">
Your browser does not support the audio tag.
</audio>
上面的例子使用一个 Ogg 文件,适用于Firefox、Opera 以及 Chrome 浏览器。要确保适用于 Safari 浏览器,音频文件必须是 MP3 或 Wav 类型。audio 元素允许多个 source 元素。source 元素可以链接不同的音频文件。浏览器将使用第一个可识别的格式:
<audio controls="controls">
<source src="song.ogg" type="audio/ogg">
<source src="song.mp3" type="audio/mpeg">
Your browser does not support the audio tag.
</audio>
<audio> 标签的属性
| 属性 | 值 | 描述 |
|---|---|---|
| autoplay | autoplay | 如果出现该属性,则音频在就绪后马上播放。 |
| controls | controls | 如果出现该属性,则向用户显示控件,比如播放按钮。 |
| loop | loop | 如果出现该属性,则每当音频结束时重新开始播放。 |
| preload | preload | 如果出现该属性,则音频在页面加载时进行加载,并预备播放。如果使用 "autoplay",则忽略该属性。 |
| src | url | 要播放的音频的 URL。 |
HTML 5 视频
视频标签<video>与音频标签的使用方法类似,这里就不再赘述。
当前,视频标签支持两种视频格式:
| IE 8 | Firefox 3.5 | Opera 10.5 | Chrome 3.0 | Safari 3.0 | |
|---|---|---|---|---|---|
| Ogg | √ | √ | √ | ||
| MPEG 4 | √ | √ |
其中:
Ogg = 带有 Thedora 视频编码和 Vorbis 音频编码的 Ogg 文件
MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件
<video> 标签的属性
| 属性 | 值 | 描述 |
|---|---|---|
| autoplay | autoplay | 如果出现该属性,则视频在就绪后马上播放。 |
| controls | controls | 如果出现该属性,则向用户显示控件,比如播放按钮。 |
| height | pixels | 设置视频播放器的高度。 |
| loop | loop | 如果出现该属性,则当媒介文件完成播放后再次开始播放。 |
| preload | preload | 如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用 "autoplay",则忽略该属性。 |
| src | url | 要播放的视频的 URL。 |
| width | pixels | 设置视频播放器的宽度。 |


(no comments yet)