阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      HTML 音频(Audio)

      HTML 音频(Audio)


      声音在HTML中可以以不同的方式播放.


      问题以及解决方法

      在 HTML 中播放音频并不容易!

      您需要谙熟大量技巧,以确保您的音频文件在所有浏览器中(Internet Explorer, Chrome, Firefox, Safari, Opera)和所有硬件上(PC, Mac , iPad, iPhone)都能够播放。

      在本章,阿西河前端教程(www.axihe.com)为您总结了问题和解决方法。


      使用插件

      浏览器插件是一种扩展浏览器标准功能的小型计算机程序。

      插件可以使用 标签 或者 标签添加在页面上. 

      这些标签定义资源(通常非 HTML 资源)的容器,根据类型,它们即会由浏览器显示,也会由外部插件显示。


      使用 <embed> 元素

      标签定义外部(非 HTML)内容的容器。(这是一个 HTML5 标签,在 HTML4 中是非法的,但是所有浏览器中都有效)。

      下面的代码片段能够显示嵌入网页中的 MP3 文件:

      <embed height="50" width="100" src="horse.mp3">
      

      问题:

      • 标签在 HTML 4 中是无效的。页面无法通过 HTML 4 验证。
      • 不同的浏览器对音频格式的支持也不同。
      • 如果浏览器不支持该文件格式,没有插件的话就无法播放该音频。
      • 如果用户的计算机未安装插件,无法播放音频。
      • 如果把该文件转换为其他格式,仍然无法在所有浏览器中播放。

      使用 <object> 元素

      标签也可以定义外部(非 HTML)内容的容器。

      下面的代码片段能够显示嵌入网页中的 MP3 文件:

      <object height="50" width="100" data="horse.mp3"></object>
      

      问题:

      • 不同的浏览器对音频格式的支持也不同。
      • 如果浏览器不支持该文件格式,没有插件的话就无法播放该音频。
      • 如果用户的计算机未安装插件,无法播放音频。
      • 如果把该文件转换为其他格式,仍然无法在所有浏览器中播放。

      使用 HTML5 <audio> 元素

      HTML5

      元素是一个 HTML5 元素,在 HTML 4 中是非法的,但在所有浏览器中都有效。

      流量器兼容

      格中的数字表示支持该属性的第一个浏览器版本号。

      元素ChromeIE火狐safari
      4.09.03.54.0

      以下我们将使用

      以下我们将使用 <audio> 标签来描述 MP3 文件(Internet Explorer、Chrome 以及 Safari 中是有效的), 同样添加了一个 OGG 类型文件(Firefox 和 Opera浏览器中有效).如果失败,它会显示一个错误文本信息:

      实例

      <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>
      

      问题:

      • 标签在 HTML 4 中是无效的。您的页面无法通过 HTML 4 验证。
      • 您必须把音频文件转换为不同的格式。
      • 元素在老式浏览器中不起作用。

      最好的 HTML 解决方法

      下面的例子使用了两个不同的音频格式。HTML5 <audio> 元素会尝试以 mp3 或 ogg 来播放音频。如果失败,代码将回退尝试 <embed> 元素。

      <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>
      

      问题:

      • 您必须把音频转换为不同的格式。
      • 元素无法回退来显示错误消息。

      使用超链接

      如果网页包含指向媒体文件的超链接,大多数浏览器会使用”辅助应用程序”来播放文件。

      以下代码片段显示指向 mp3 文件的链接。如果用户点击该链接,浏览器会启动”辅助应用程序”来播放该文件:

      实例

      <a href="horse.mp3">Play the sound</a>
      

      内联的声音说明

      当您在网页中包含声音,或者作为网页的组成部分时,它被称为内联声音。

      如果您打算在 web 应用程序中使用内联声音,您需要意识到很多人都觉得内联声音令人恼火。同时请注意,用户可能已经关闭了浏览器中的内联声音选项。

      我们最好的建议是只在用户希望听到内联声音的地方包含它们。一个正面的例子是,在用户需要听到录音并点击某个链接时,会打开页面然后播放录音。


      HTML 多媒体标签

      New : HTML5 新标签

      标签描述
      <embed>定义内嵌对象。HTML4 中不赞成,HTML5 中允许。
      <object>定义内嵌对象。
      <param>定义对象的参数。
      <audio>New定义了声音内容
      <video>New定义一个视频或者影片
      <source>New定义了media元素的多媒体资源(<video> 和 <audio>)
      <track>New规定media元素的字幕文件或其他包含文本的文件 (<video> 和<audio>)
      卖前端学习教程

      只需几十元,就能买到培训班的内部教程!开启高薪之路!

      零基础小白阿里P7的教程都有!

      同时长期收购所有培训班的前端教程

      目录
      目录