HTML 音频 Audio
- 作者: 五速梦信息网
- 时间: 2026年03月19日 18:19
声音在 html 中可以以不同的方式播放
问题以及解决方法
在 HTML 中播放音频并不容易
我们需要谙熟大量技巧,以确保音频文件在所有浏览器中(Internet Explorer, Chrome, Firefox, Safari, Opera)和所有硬件上(PC, Mac , iPad, iPhone)都能够播放
在本节中,我们将介绍长久以来碰到的问题和解决方法
使用插件
浏览器插件是一种扩展浏览器标准功能的小型计算机程序
插件可以使用 <object> 标签或者 <embed> 标签添加在页面上
这些标签定义资源 ( 通常非 HTML 资源 ) 的容器,根据类型,它们即会由浏览器显示,也会由外部插件显示
使用 <embed> 元素
<embed> 标签定义外部(非 HTML)内容的容器
这是一个 HTML5 标签,在 HTML4 中是非法的,但是所有浏览器中都有效
下面的代码片段能够显示嵌入网页中的 MP3 文件
问题
- <embed> 标签在 HTML 4 中是无效的,页面无法通过 HTML 4 验证
- 不同的浏览器对音频格式的支持也不同
- 如果浏览器不支持该文件格式,没有插件的话就无法播放该音频
- 如果用户的计算机未安装插件,无法播放音频
- 如果把该文件转换为其他格式,仍然无法在所有浏览器中播放
使用 <object> 元素
<object> 标签也可以定义外部 ( 非 HTML ) 内容的容器
下面的代码片段能够显示嵌入网页中的 MP3 文件
问题
- 不同的浏览器对音频格式的支持也不同
- 如果浏览器不支持该文件格式,没有插件的话就无法播放该音频
- 如果用户的计算机未安装插件,无法播放音频
- 如果把该文件转换为其他格式,仍然无法在所有浏览器中播放
使用 HTML5 <audio> 元素
HTML5 <audio> 元素是一个 HTML5 元素,在 HTML 4 中是非法的,但在所有浏览器中都有效
<audio> 在所有现代浏览器上都得到了良好的支持
下面我们将使用 <audio> 标签来描述 MP3 文件(Internet Explorer、Chrome 以及 Safari 中是有效的), 同样添加了一个 OGG 类型文件(Firefox 和 Opera浏览器中有效)
如果失败,它会显示一个错误文本信息
问题
- <audio> 标签在 HTML 4 中是无效的,我们的页面无法通过 HTML 4 验证
- 必须把音频文件转换为不同的格式
- <audio> 元素在老式浏览器中不起作用
最好的 HTML 解决方法
下面的范例使用了两个不同的音频格式
HTML5 <audio> 元素会尝试以 mp3 或 ogg 来播放音频
如果失败,代码将回退尝试 <embed> 元素
问题
- 必须把音频转换为不同的格式
- <embed> 元素无法回退来显示错误消息
雅虎媒体播放器 - 一个简单的添加音频到网站上的方式
使用雅虎播放器是免费的
如需使用它,需要把这段 JavaScript 插入网页底部
雅虎播放器可以播放 MP3 以及其他各种格式
我们只需添加一行代码到页面或博客中就可以轻松地将 HTML 页面制作成专业的播放列表
如果我们要使用它,就需要把这段 JavaScript 插入网页底部
然后只需简单地把 MP3 文件链接到您的 HTML 中,JavaScript 会自动地为每首歌创建播放按钮
雅虎媒体播放器为你的用户提供的是一个小型的播放按钮,而不是完整的播放器
不过,当点击该按钮,会弹出完整的播放器
请注意,这个播放器始终停靠在窗框底部,只需点击它,就可将其滑出
使用超链接
如果网页包含指向媒体文件的超链接,大多数浏览器会使用"辅助应用程序"来播放文件
以下代码片段显示指向 mp3 文件的链接
如果用户点击该链接,浏览器会启动"辅助应用程序"来播放该文件
内联的声音说明
当您在网页中包含声音,或者作为网页的组成部分时,它被称为内联声音
如果打算在 web 应用程序中使用内联声音,需要意识到很多人都觉得内联声音令人恼火
同时请注意,用户可能已经关闭了浏览器中的内联声音选项
所以,我们建议只在用户希望听到内联声音的地方包含它们
一个正面的例子是,在用户需要听到录音并点击某个链接时,会打开页面然后播放录音
HTML 多媒体标签
| 标签 | 描述 |
|---|---|
<embed> | 定义内嵌对象,HTML4 中不赞成,HTML5 中允许 |
<object> | 定义内嵌对象 |
<param> | 定义对象的参数 |
<audio> | 定义了声音内容 |
<video> | 定义一个视频或者影片 |
<source> | 定义了media元素的多媒体资源(<video> 和 <audio>) |
<track> | 规定media元素的字幕文件或其他包含文本的文件 ( <video> 和 <audio>) |
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!
- 上一篇: HTML 助手(插件)
- 下一篇: <table>标签中比较少见的属性和子标签:






