HTML5 Audio(音频) HTML5 提供了播放音频文件的标准。<audio> 元素允许使用多个 <source> 元素. <source> 元素可以链接不同的音频文件,浏览器将使用第一个支持的

本文介绍HTML5中的音频标准,包括&lt;audio&gt;元素的使用方法、不同浏览器的支持情况及常见音频格式。通过示例代码展示了如何在网页中嵌入音频。

HTML5 Audio(音频)


HTML5 提供了播放音频文件的标准。


互联网上的音频

直到现在,仍然不存在一项旨在网页上播放音频的标准。

今天,大多数音频是通过插件(比如 Flash)来播放的。然而,并非所有浏览器都拥有同样的插件。

HTML5 规定了在网页上嵌入音频元素的标准,即使用 <audio> 元素。


浏览器支持

Internet ExplorerFirefoxOperaGoogle ChromeSafari

Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 都支持 <audio> 元素.

注意: Internet Explorer 8 及更早IE版本不支持 <audio> 元素.


HTML5 Audio - 如何工作

如需在 HTML5 中播放音频,你需要使用以下代码:

实例

<audio controls>
  <source src="horse.ogg" type="audio/ogg">
  <source src="horse.mp3" type="audio/mpeg">
您的浏览器不支持 audio 元素。
</audio>

尝试一下 »

control 属性供添加播放、暂停和音量控件。

在<audio> 与 </audio> 之间你需要插入浏览器不支持的<audio>元素的提示文本 。

<audio> 元素允许使用多个 <source> 元素. <source> 元素可以链接不同的音频文件,浏览器将使用第一个支持的音频文件


音频格式及浏览器支持

目前, <audio>元素支持三种音频格式文件: MP3, Wav, 和 Ogg:

浏览器 MP3 Wav Ogg
Internet Explorer 9+ YES NO NO
Chrome 6+ YES YES YES
Firefox 3.6+ YES YES YES
Safari 5+ YES YES NO
Opera 10+ YES YES YES


音频格式的MIME类型

Format MIME-type
MP3 audio/mpeg
Ogg audio/ogg
Wav audio/wav


HTML5 Audio 标签

标签 描述
<audio> 定义了声音内容
<source> 规定了多媒体资源, 可以是多个,在 <video> 与 <audio>标签中使用

<!DOCTYPE html>
<html>
<body>

<audio controls>
  <source src="horse.ogg" type="audio/ogg">
  <source src="horse.mp3" type="audio/mpeg">
您的浏览器不支持 audio 元素。
</audio>

</body>
</html>

### HTML5 `<video>` 和 `<audio>` 标签中 `<source>` 标签的功能和用法 #### 1. `<source>` 标签的主要作用 `<source>` 标签用于为 `<video>` 或 `<audio>` 元素提供多个媒体资源选项。它允许开发者针对不同浏览器或设备指定不同格式的媒体文件,从而提高跨平台兼容性[^2]。 - **多格式支持**: 不同浏览器可能只支持某些特定类型的音频或视频格式(如 MP4、WebM、Ogg 等)。通过使用多个 `<source>` 标签,可以确保即使某个格式不被支持,仍然有备选方案可用。 - **自动选择最佳资源**: 浏览器会按照 `<source>` 标签的顺序尝试加载第一个能够识别和支持的媒体文件。 --- #### 2. `<source>` 标签的核心属性 以下是 `<source>` 标签常用的几个重要属性及其含义: - **`src`**: 指定媒体文件的实际 URL 地址。 - **`type`**: 声明媒体文件的 MIME 类型,例如 `video/mp4`, `audio/ogg` 等。这有助于浏览器提前判断是否能处理该文件而无需下载整个内容。 - **`media`**: 可选属性,用来定义适合播放此资源的具体屏幕尺寸或其他条件(主要用于响应式设计)[^1]. --- #### 3. 实际案例分析 下面是一个综合示例,展示了如何利用 `<source>` 标签为同一个 `<video>` 提供多种格式的支持: ```html <video controls> <!-- 针对广泛支持的MP4格式 --> <source src="movie.mp4" type="video/mp4"> <!-- 对于更开放标准友好的WebM格式 --> <source src="movie.webm" type="video/webm"> <!-- 老旧或者特殊需求下使用的Ogg Theora编码 --> <source src="movie.ogg" type="video/ogg"> <!-- 备注信息给无法解析以上任何一种格式的老版浏览者看 --> Your browser does not support the video tag. </video> ``` 同样地,在 `<audio>` 标签下也可以应用相同逻辑: ```html <audio controls> <source src="song.mp3" type="audio/mpeg"> <source src="song.ogg" type="audio/ogg"> Your browser does not support the audio element. </audio> ``` 在这些例子中,如果用户的浏览器支持 MP4,则会选择加载 `movie.mp4`;如果不支持则继续向下寻找下一个匹配项直到找到合适的为止。 --- #### 4. 使用 JavaScript 动态控制 除了静态声明外,还可以借助 JavaScript 编程方式动态更改当前正在使用的媒体源。比如当检测到网络状况变差时切成更低质量但占用带宽较少的版本等等[^1]: ```javascript const videoElement = document.querySelector('video'); if (networkConditionIsPoor()) { videoElement.src = 'low_quality_video.mp4'; } else { videoElement.src = 'high_quality_video.mp4'; } // 或者移除现有的<source>, 添加新的 let newSource = document.createElement('source'); newSource.src = 'alternative_source.webm'; newSource.type= 'video/webm'; videoElement.appendChild(newSource); ``` 需要注意的是直接修改 `src` 属性可能会覆盖掉原有的所有 `<source>` 设置,所以在复杂场景下推荐操作 DOM 结构而非简单替字符串值。 --- #### 5. 注意事项与最佳实践 尽管 `<source>` 提供了极大的灵活性,但在实际项目部署过程中仍需注意一些细节问题: - **优先级安排合理**:把最普遍接受度高的格式放在首位以便大多数用户获得最快体验速度。 - **保持一致性命名约定**:对于同一份素材的不同压缩形式最好维持统一前缀加扩展名的方式便于管理和维护。 - **测试充分覆盖各端口差异**:由于存在众多品牌型号各异移动终端加上桌面操作系统组合可能性巨大,务必经过详尽回归检验确认预期行为一致无误[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值