⚡️ 预警,前方高能:web
在本文中,若出现如下 emoji 表情包请特别留意:浏览器
- 白色书签:🔖,表明一级标题;
- 橙色大四边形:🔶,表明二级标题;
- 蓝色小四边形:🔹,表明三级标题;
- 黄色闪电:⚡️,表明强调;
<video>
元素 用于在 HTML 文档中嵌入媒体播放器,支持文档内的视频播放。缓存
你也能够将 <video>
标签用于音频内容,可是<audio>
元素可能在用户体验上更合适。bash
举个 🌰 子:ide
<video
src="rabbit320.webm"
controls
width="400"
height="400"
autoplay
loop
muted
poster="poster.png"
>
<p>你的浏览器不支持 HTML5 视频。可点击<a href="rabbit320.mp4">此连接</a>观看</p>
</video>
复制代码
解析:oop
srcpost
同 <img>
标签使用方式相同。提供视频资源的 URL。ui
controlsspa
Gecko 会提供用户控制,容许用户控制视频的播放,包括音量,跨帧,暂停/恢复播放。code
width,height
能够用属性控制视频的尺寸,也能够用 CSS 来控制视频尺寸。 不管使用哪一种方式,视频都会保持它原始的长宽比 — 也叫作纵横比。
若是你设置的尺寸没有保持视频原始长宽比,那么视频边框将会拉伸,而未被视频内容填充的部分,将会显示默认的背景颜色。
autoplay
这个属性会使音频和视频内容当即播放,即便页面的其余部分尚未加载彻底。
loop
这个属性可让音频或者视频文件循环播放。一样不建议使用,除非有必要。
muted
这个属性会致使媒体播放时,默认关闭声音。
poster
指向一个图像的 URL,这个图像会在视频播放前显示。一般用于粗略的预览或者广告。
preload
用来缓冲较大的文件,有 3 个值可选:
在 <video></video>
标签中间的内容,是针对浏览器不支持此元素时候的降级处理。
这个叫作后备内容 — 当浏览器不支持 <video>
标签的时候,就会显示这段内容,这使得咱们可以对旧的浏览器提供回退内容。你能够添加任何后备内容,在这个例子中咱们提供了一个指向这个视频文件的连接,从而使用户至少能够访问到这个文件,而不会局限于浏览器的支持。
举个 🌰 子:
<video controls>
<source src="rabbit320.mp4" type="video/mp4">
<source src="rabbit320.webm" type="video/webm">
<p>你的浏览器不支持 HTML5 视频。可点击<a href="rabbit320.mp4">此连接</a>观看</p>
</video>
复制代码
将 src 属性从 <video>
标签中移除。将它放在几个单独的标签 <source>
当中。
在这个例子当中,浏览器将会检查 <source>
标签,而且播放第一个与其自身 codec 相匹配的媒体。你的视频应当包括 WebM 和 MP4 两种格式,这两种在目前已经足够支持大多数平台和浏览器。
每一个 <source>
标签页含有一个 type 属性,这个属性是可选的,可是建议你添加上这个属性 — 它包含了视频文件的 MIME types ,同时浏览器也会经过检查这个属性来迅速的跳过那些不支持的格式。若是你没有添加 type 属性,浏览器会尝试加载每个文件,直到找到一个能正确播放的格式,这样会消耗掉大量的时间和资源。
<audio>
标签与 <video>
标签的使用方式几乎彻底相同,有一些细微的差异。
<audio controls>
<source src="viper.mp3" type="audio/mp3">
<source src="viper.ogg" type="audio/ogg">
<p>你的浏览器不支持 HTML5 音频,可点击<a href="viper.mp3">此连接</a>收听。</p>
</audio>
复制代码
音频播放器所占用的空间比视频播放器要小,因为它没有视觉部件 — 你只须要显示出能控制音频播放的控件。
一些与 HTML5<video>
的差别以下:
<audio>
标签不支持 width/height 属性 — 由于其并无视觉部件,也就没有能够设置 width/height 的内容。 同时也不支持 poster 属性 — 一样由于没有视觉部件。 除此以外,<audio>
标签支持全部 <video>
标签拥有的特性。
<video>
标签, developer.mozilla.org/zh-CN/docs/…<audio>
标签, developer.mozilla.org/zh-CN/docs/…