HTML 音频

使用 <embed> 元素

<embed> 标签定义外部(非 HTML)内容的容器。(这是一个 HTML5 标签,在 HTML4 中是非法的,但是所有浏览器中都有效)。 下面的代码片段能够显示嵌入网页中的 MP3 文件:

<embed height="100" width="100" src="song.mp3" />

问题:

  • <embed> 标签在 HTML 4 中是无效的。页面无法通过 HTML 4 验证。
  • 不同的浏览器对音频格式的支持也不同。
  • 如果浏览器不支持该文件格式,没有插件的话就无法播放该音频。
  • 如果用户的计算机未安装插件,无法播放音频。
  • 如果把该文件转换为其他格式,仍然无法在所有浏览器中播放。 注释:使用 <!DOCTYPE html> (HTML5) 解决验证问题。

使用 <object> 元素

使用 <object> 元素 <object tag> 标签也可以定义外部(非 HTML)内容的容器。 下面的代码片段能够显示嵌入网页中的 MP3 文件:

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

问题:

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

使用 HTML5 <audio> 元素

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

<audio controls="controls">
  <source src="song.mp3" type="audio/mp3" />
  <source src="song.ogg" type="audio/ogg" />
Your browser does not support this audio format.
</audio>

上面的例子使用了一个 mp3 文件,这样它在 Internet Explorer、Chrome 以及 Safari 中是有效的。 为了使这段音频在 Firefox 和 Opera 中同样有效,添加了一个 ogg 类型的文件。如果失败,会显示错误消息。

问题:

  • <audio> 标签在 HTML 4 中是无效的。您的页面无法通过 HTML 4 验证。
  • 您必须把音频文件转换为不同的格式。
  • <audio> 元素在老式浏览器中不起作用。 注释:使用 <!DOCTYPE html> (HTML5) 解决验证问题。

最好的 HTML 解决方法

<audio controls="controls" height="100" width="100">
  <source src="song.mp3" type="audio/mp3" />
  <source src="song.ogg" type="audio/ogg" />
<embed height="100" width="100" src="song.mp3" />
</audio>

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

问题:

  • 您必须把音频转换为不同的格式。
  • <audio> 元素无法通过 HTML 4XHTML 验证。
  • <embed> 元素无法通过 HTML 4XHTML 验证。
  • <embed> 元素无法回退来显示错误消息。 注释:使用 <!DOCTYPE html> (HTML5) 解决验证问题。

HTML 视频

使用 <embed> 标签

<embed> 标签的作用是在 HTML 页面中嵌入多媒体元素。 下面的 HTML 代码显示嵌入网页的 Flash 视频:

<embed src="movie.swf" height="200" width="200"/>

问题:

  • HTML4 无法识别 <embed> 标签。您的页面无法通过验证。
  • 如果浏览器不支持 Flash,那么视频将无法播放
  • iPadiPhone 不能显示 Flash 视频。
  • 如果您将视频转换为其他格式,那么它仍然不能在所有浏览器中播放。

使用 <object> 标签

<object> 标签的作用是在 HTML 页面中嵌入多媒体元素。 下面的 HTML 片段显示嵌入网页的一段 Flash 视频:

<object data="movie.swf" height="200" width="200"/>

问题:

  • 如果浏览器不支持 Flash,将无法播放视频。
  • iPadiPhone 不能显示 Flash 视频。
  • 如果您将视频转换为其他格式,那么它仍然不能在所有浏览器中播放。

使用 <video> 标签

<video>HTML 5 中的新标签。 <video> 标签的作用是在 HTML 页面中嵌入视频元素。 以下 HTML 片段会显示一段嵌入网页的 oggmp4webm 格式的视频:

<video width="320" height="240" controls="controls">
  <source src="movie.mp4" type="video/mp4" />
  <source src="movie.ogg" type="video/ogg" />
  <source src="movie.webm" type="video/webm" />
Your browser does not support the video tag.
</video>

问题:

  • 您必须把视频转换为很多不同的格式。
  • <video>元素在老式浏览器中无效。
  • <video> 元素无法通过 HTML 4XHTML 验证。

最好的 HTML 解决方法

HTML 5 +<object> + <embed>

<video width="320" height="240" controls="controls">
  <source src="movie.mp4" type="video/mp4" />
  <source src="movie.ogg" type="video/ogg" />
  <source src="movie.webm" type="video/webm" />
  <object data="movie.mp4" width="320" height="240">
    <embed src="movie.swf" width="320" height="240" />
  </object>
</video>

上例中使用了 4 中不同的视频格式。HTML 5 <video> 元素会尝试播放以mp4oggwebm 格式中的一种来播放视频。如果均失败,则回退到 <embed> 元素。

问题:

  • 您必须把视频转换为很多不同的格式
  • 元素无法通过 HTML 4 和 XHTML 验证。 注释:使用 <!DOCTYPE html> (HTML5) 解决验证问题。

优酷解决方案

在 HTML 中显示视频的最简单的方法是使用优酷等视频网站。 如果您希望在网页中播放视频,那么您可以把视频上传到优酷等视频网站,然后在您的网页中插入 HTML 代码即可播放视频:

<embed src="http://player.youku.com/player.php/sid/XMzI2NTc4NTMy/v.swf" 
width="480" height="400" 
type="application/x-shockwave-flash">
</embed>

使用超链接

如果网页包含指向媒体文件的超链接,大多数浏览器会使用“辅助应用程序”来播放文件。 以下代码片段显示指向 AVI 文件的链接。如果用户点击该链接,浏览器会启动“辅助应用程序”,比如 Windows Media Player 来播放这个 AVI 文件:

<a href="movie.swf">Play a video file</a>

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!


hetaodie

Mobile development

简单,深入的研究移动客户端开发技术"