HTML 音频(Audio)学习笔记

一、HTML 音频概述

在 HTML 中,音频可以通过多种方式播放,但要确保音频在不同浏览器和设备上都能正常播放,需要掌握一些技巧。HTML5 引入了 <audio> 元素,为音频播放提供了一种标准方法,但在 HTML4 中,音频播放通常依赖于插件,如 <object><embed> 标签。

二、音频播放方法及问题

(一)使用插件

  1. <object> 标签

    • <object> 标签定义外部内容的容器,可以用来嵌入音频文件。

    • 示例代码:

      HTML复制

      复制代码
      <object height="50" width="100" data="horse.mp3"></object>

      预览

    • 问题

      • 不同浏览器对音频格式的支持不同。

      • 如果浏览器不支持该文件格式,且没有插件,音频无法播放。

      • 用户计算机未安装插件时,音频无法播放。

  2. <embed> 标签

    • <embed> 标签定义外部内容的容器,HTML5 中允许使用,但在 HTML4 中是非法的。

    • 示例代码:

      HTML复制

      复制代码
      <embed height="50" width="100" src="horse.mp3">

      预览

    • 问题

      • <embed> 标签在 HTML4 中无效,页面无法通过 HTML4 验证。

      • 不同浏览器对音频格式的支持不同。

      • 如果浏览器不支持该文件格式,且没有插件,音频无法播放。

      • 用户计算机未安装插件时,音频无法播放。

(二)使用 HTML5 <audio> 元素

  1. <audio> 元素

    • <audio> 元素是 HTML5 新增的标签,用于播放音频文件。

    • 示例代码:

      HTML复制

      复制代码
      <audio controls>
        <source src="horse.mp3" type="audio/mpeg">
        <source src="horse.ogg" type="audio/ogg">
        Your browser does not support this audio format.
      </audio>

      预览

    • 优点

      • 在所有现代浏览器中有效。
    • 问题

      • <audio> 标签在 HTML4 中无效,页面无法通过 HTML4 验证。

      • 需要将音频文件转换为不同格式以兼容不同浏览器。

      • 在老式浏览器中不起作用。

(三)最佳 HTML 解决方法

  1. 结合使用 <audio><embed>

    • 示例代码:

      HTML复制

      复制代码
      <audio controls height="100" width="100">
        <source src="horse.mp3" type="audio/mpeg">
        <source src="horse.ogg" type="audio/ogg">
        <embed height="50" width="100" src="horse.mp3">
      </audio>

      预览

    • 优点

      • 尝试使用 <audio> 元素播放音频,如果失败则回退到 <embed>
    • 问题

      • 需要将音频转换为不同格式。

      • <embed> 元素无法回退显示错误消息。

(四)使用超链接

  1. 超链接播放音频

    • 示例代码:

      HTML复制

      复制代码
      <a href="horse.mp3">Play the sound</a>

      预览

    • 优点

      • 简单,用户点击链接即可播放音频。
    • 问题

      • 音频播放依赖于浏览器的"辅助应用程序",用户体验可能不佳。

三、音频格式与浏览器支持

  • MP3:支持 Internet Explorer、Chrome 和 Safari。

  • OGG:支持 Firefox 和 Opera。

  • WebM:支持 Chrome 和 Opera。

四、内联声音说明

  • 内联声音:当音频作为网页的一部分时,称为内联声音。

  • 注意事项

    • 内联声音可能会让用户感到烦恼,建议仅在用户期望听到声音时使用。

    • 用户可能已关闭浏览器中的内联声音选项。

五、HTML 多媒体标签

标签 描述
<embed> 定义内嵌对象。HTML4 中不赞成,HTML5 中允许。
<object> 定义内嵌对象。
<param> 定义对象的参数。
<audio> 定义声音内容。
<video> 定义视频或影片。
<source> 定义 <video><audio> 的多媒体资源。
<track> 定义 <video><audio> 的字幕文件或其他文本文件。
相关推荐
彧azz7 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
平头哥AI7 小时前
Day 22 _ 包装错误别丢链_%w、errors.Is 与 errors.As
android·服务器·学习·golang·go
一阵寒风7 小时前
CAM智能化助力PCB 智能制造-培训体系第六章.项目开发学习
学习·制造
传奇开心果编程8 小时前
【Xilem 0.4 基础语法学与练】第15课:状态管理与 memoize 性能优化
学习·rust·前端框架
具身AGI8 小时前
视频即仿真,物理AI 人类学习路线 的下一步
人工智能·学习
wuyk5559 小时前
从零吃透 MQTT 通信|第 8 章 FreeRTOS 多任务架构下 MQTT 工程架构,任务拆分、队列解耦、临界区保护
c语言·开发语言·stm32·学习·架构
陈年老古董9 小时前
PyTorch食物图像分类实战:从数据集制作到CNN模型训练全流程详解
pytorch·深度学习·学习·机器学习·分类·cnn
明志数科9 小时前
从300克Ego头环看第一人称数据采集趋势:设备轻量化之后,场景端壁垒在哪
数码相机·学习
笨鸟先飞的橘猫10 小时前
系统设计第十七天决策卡
学习·游戏
Sunshing1510 小时前
Lyapunov方程系统本身稳定性判定与镇定性判定
笔记·学习