HTML 音频(Audio)
声音在HTML中可以以不同的方式播放。
播放问题以及解决方法
不是所有 HTML 中都能播放音频,想要兼容并不容易!
您需要谙熟大量技巧,以确保您的音频文件在所有浏览器中(Internet Explorer, Chrome, Firefox, Safari, Opera)和所有硬件上(PC, Mac , iPad, iPhone,Andriod)都能够播放。
在本章,Fmpq教程为您总结了常见问题和解决方法。
使用插件
浏览器插件是一种扩展浏览器标准功能的小型计算机程序。
插件可以使用 <object> 标签 或者 <embed> 标签添加在页面上。
这些标签是定义资源(通常非 HTML 资源)的容器,根据类型,它们即会由浏览器显示,也会由外部插件显示。
使用 <embed> 元素
<embed>标签定义外部(非 HTML)内容的容器。(这是一个 HTML5 标签,在 HTML4 中是非法的,现所有浏览器中都有效)。
下面的实例能够显示嵌入网页中的 MP3 文件:
问题:
- <embed> 标签在 HTML 4 中是无效的。页面无法通过 HTML 4 验证。
- 不同的浏览器对音频格式的支持也不同。
- 如果浏览器不支持该文件格式,没有插件的话就无法播放该音频。
- 如果用户的计算机未安装插件,无法播放音频。
- 即使把该文件转换为其他格式,也不是所有浏览器中都能播放。
使用 <object> 元素
<object tag> 标签也可以定义外部(非 HTML)内容的容器。
下面的实例能够显示嵌入网页中的 MP3 文件:
问题:
- 不同的浏览器对音频格式的支持也不同。
- 如果浏览器不支持该文件格式,没有插件的话就无法播放该音频。
- 如果用户的计算机未安装插件,无法播放音频。
- 即使把该文件转换为其他格式,也不是所有浏览器中都能播放。
使用 HTML5 <audio> 元素
HTML5 <audio> 元素是一个 HTML5 元素,在 HTML 4 中是非法的,但在所有浏览器中都有效。
<audio> 元素可工作在所有现代浏览器中。
以下实例是使用 <audio> 标签来描述 MP3 文件(Internet Explorer、Chrome 以及 Safari 中是有效的), 同时添加了一个 OGG 类型文件(Firefox 和 Opera浏览器中有效)。如果失败,它会显示一个错误文本信息:
audio 实例
<source src="horse.mp3" type="audio/mpeg">
<source src="horse.ogg" type="audio/ogg">
你的浏览器无法支持此音频格式。
</audio>
尝试一下 »
问题:
- <audio> 标签在 HTML 4 中是无效的。您的页面无法通过 HTML 4 验证。
- 您必须把音频文件转换为不同的格式。
- <audio> 元素在老式浏览器中不起作用。
最好的 HTML 音频播放解决办法
下面的例子使用了两个不同的音频格式。HTML5 <audio> 元素会尝试以 mp3 或 ogg 来播放音频。如果失败,代码将回退尝试 <embed> 元素。
实例
<source src="horse.mp3" type="audio/mpeg">
<source src="horse.ogg" type="audio/ogg">
<embed height="50" width="100" src="horse.mp3">
</audio>
尝试一下 »
问题:
- 您必须把音频转换为不同的格式。
- <embed> 元素无法回退来显示错误消息。
雅虎媒体播放器 - 一个简单的添加音频到你网站上的方式
雅虎的播放器是免费的,雅虎播放器可以播放MP3以及其他各种格式。使用也很简单,你只需添加一行代码到你的页面或博客中, 就可以轻松地将您的HTML页面制作成专业的播放列表,这段 JavaScript 代码插入网页底部:
实例
<script src="http://mediaplayer.yahoo.com/latest"></script>
尝试一下 »
如果你要使用它,您需要把这段 JavaScript 插入网页底部:
然后只需简单地把 MP3 文件链接到您的 HTML 中,JavaScript 会自动地为每首歌创建播放按钮:
<a href="song2.wav">Play Song 2</a>
...
...
雅虎媒体播放器为您的用户提供的是一个播放按钮,而不是完整的播放器。不过,当您点击该按钮,会弹出完整的播放器。
使用超链接
如果网页包含指向媒体文件的超链接,大多数浏览器会使用"辅助应用程序"来播放文件。
以下代码片段显示指向 mp3 文件的链接。如果用户点击该链接,浏览器会启动"辅助应用程序"来播放该文件:
内联的声音说明
当您在网页中包含声音,或者作为网页的组成部分时,它被称为内联声音。
不建议在 web 应用程序中使用内联声音,很多人都觉得内联声音令人恼火。同时用户可能已经关闭了浏览器中的内联声音选项。
最好的建议是只在用户希望听到内联声音的地方包含它们。一个正面的例子是,在用户需要听下录音效果,会打开页面然后播放录音。
HTML 多媒体标签
New : HTML5 新标签
标签 | 描述 |
---|---|
<embed> | 定义内嵌对象。HTML4 中不赞成,HTML5 中允许。 |
<object> | 定义内嵌对象。 |
<param> | 定义对象的参数。 |
<audio>New | 定义了声音内容。 |
<video>New | 定义一个视频或者影片。 |
<source>New | 定义了media元素的多媒体资源(<video> 和 <audio>)。 |
<track>New | 规定media元素的字幕文件或其他包含文本的文件 (<video> 和<audio>)。 |