如何嵌入 HTML 音频文件

2024年8月28日 | 阅读 7 分钟

HTML 音频允许您通过音乐、播客或您选择的任何其他音频内容来丰富您的网页。本指南将引导您完成在 HTML 中添加音频文件的步骤,并说明几种方法和要点。

了解音频格式

虽然可以在不了解浏览器支持的音频格式的情况下将音频文件提交到 HTML 代码,但最好的做法是了解它们。

  1. MP3 (MPEG Audio Layer III): 被浏览器广泛使用。它是一种有损格式,在质量和文件大小之间取得了平衡,已成为网络使用的理想格式。
  2. OGG (Ogg Vorbis): 一种开源的压缩文件格式,以具有更好的压缩率而闻名。它与新版本的浏览器兼容,例如 Fi、Firefox 和 Chrome。
  3. WAV (Waveform Audio File Format): 一种音频格式,它压缩源文件以确保更好的质量,但代价是文件大小大。许多浏览器偏爱它,但其令人印象深刻的大小只有在必要时才能用于网络。

选择正确的音频格式

在将其放入 HTML 时,您可能需要考虑一种音频格式。应考虑浏览器兼容性、文件大小和音频质量等因素。MP3 是一个合适的选择,因为(或由于)它的广泛接受度,但添加 OGG 和 MP3 也能让更多的浏览器与代码配合使用,特别是那些支持开放标准的浏览器。

在 HTML 中嵌入音频的方法

HTML 有多种音频嵌入选项,各有优缺点。未定义

1. HTML <audio> 元素

HTML <audio> 标签是嵌入网页中音频文件的标准方法。它允许简单嵌入,并为用户提供播放、暂停和音量调节按钮。

在此示例中

  • controls 属性嵌入了播放控件按钮,用于播放、暂停和调节音频播放器的音量。
  • <source> 元素用于指定音频文件(audio.mp3)及其类型(audio/mpeg)。
  • 您可以包含多个 <source> 元素,以提供替代音频格式,从而提高浏览器兼容性。

2. 使用 <embed> 元素

<embed> 标签是嵌入音频文件的另一种方法,但它不如 <audio> 标签常用。它提供类似的功能,但决策能力较弱。

在此示例中

指定 src 作为源文件,width 和 height 是决定嵌入式音频播放器大小的元素。autostart(自动播放)是音频将播放(true)还是不播放(false)。

3. 使用 <object> 元素

除了 <object> 元素,还可以嵌入音频文件,但它主要用于包含其他多媒体元素,如 Flash。

在此示例中

  • data 指定文件的来源。
  • Mime-type 表示内容的 MIME 类型。
  • 在 <param> 元素中,您可以创建可能自动启动的其他参数。

放置音频的最佳实践示例

在 HTML 中嵌入音频时,请考虑以下最佳实践,以确保无缝的用户体验:

  1. 提供替代内容
    <audio> 元素应始终在其内部或作为备用文本放置其替代内容。这可以确保其浏览器不支持音频的用户以及禁用耳机或麦克风的用户能够访问内容。
  2. 优化文件大小
    压缩音频文件以最小化加载时间和带宽消耗。使用 Ableton Live 或 Adobe Audition 准备音频文件,以获得最佳音质。
  3. 使用渐进增强
    从具有多浏览器支持的 <audio> 元素开始,然后以 <embed> 或 <object> 元素的形式添加备用选项,以应对旧浏览器或其他不匹配的情况。
  4. 在各种浏览器上进行测试
    在所有可用的浏览器和设备上测试您嵌入的音频,以验证兼容性和一致的播放。
  5. 考虑可访问性
    通过提供字幕、文本记录或替代格式,确保有听力障碍的用户也能访问音频内容。

高级音频嵌入方法

除了前面讨论的基本嵌入方法之外,还有一些高级技术和注意事项可以进一步探索,以增强 HTML 中的音频嵌入。

1. 自定义样式和控件

您可以通过使用 CSS 和 JavaScript 来修改音频播放器的外观和性能。通过隐藏原始控件并创建自己的控件,您可以拥有一个与网站的设计和感觉相匹配的播放器。

在这种情况下,一个“播放/暂停”自定义按钮会激活 togglePlay() 函数,该函数根据音频的状态播放或暂停音频。

2. 预加载音频

您可以选择 preload 属性,让音频在后台(metadata)自动预加载(auto),或在访问者请求播放时按需加载。预加载可以改善音频播放器的速度。

3. 响应式设计

通过以百分比设置其元素的宽度和高度,使您的音频播放器响应式。这意味着用户将根据他们使用的屏幕尺寸和设备进行调整。

4. 跨域资源共享 (CORS)

如果您的音频文件存储在多个域中,您很可能会遇到“XO”问题。要从您的网站获取音频文件,您可以在托管音频文件的服务器上配置跨域资源共享 (CORS)。

5. 流式音频

对于长音频内容或直播,建议使用 HLS (HTTP Live Streaming) 或 MPEG-DASH (Dynamic Adaptive Streaming over HTTP) 协议。这些协议将音频分成小块,便于流畅播放和自适应比特率流。

6. 音频事件和交互性

通过在 JavaScript 中应用一些音频事件,您可以创建更具吸引力和交互性的用户界面。诸如音频播放开始、暂停或结束之类的事件,可以让你相应地触发相应的操作。

通过部署这些事件,您可以创建与音频播放同步的交互式功能,例如显示歌词或强调音频中的关键时刻。

7. 音频可视化

通过添加音频可视化功能,您可以让用户能够看到音频波形或频谱的动画。这有助于创建一个外观精美的网页,并检查音频是否正常播放。

此示例提供了一个 Web Audio API 的 Web 音频上下文,将音频元素连接到一个分析器节点,并在画布元素上显示音频波形。

结论

在 HTML 中嵌入音频提供了大量选项,可以将网站转变为有趣且引人入胜的交互式在线体验。通过结合 HTML、CSS 和 JavaScript,您将能够为用户创建既有趣又提供高用户体验的音频播放器、可视化效果、交互式游戏和应用程序。

尝试各种方法,利用 Web Audio API 等 Web API 的优势,并释放您的思维,在网上创建引人入胜的音频内容。请在所有浏览器和设备上测试您的创作,以检查所有用户的可访问性和兼容性。