17.9 多个媒体源和source元素
接下来我们将学习source
元素的各种可用的属性,不过在此之前,不妨先简单地了解一下为同一媒体指定多个来源的工作原理。
当浏览器发现video
元素时,首先会查看该元素本身是否定义了src
。如果没有,就会检查srouce
元素。浏览器会逐个查看这些来源,直到找到它可以播放的一个来源。一旦找到这样一个,就会播放它并忽略其他的来源。
在前一个例子中,Safari会播放MP4文件并完全忽略WebM文件,而Firefox则无法播放MP4文件,从而转向它能播放的WebM文件,如图17.9.1所示。
图17.9.1 所有支持HTML5的浏览器都能加载该视频,因为我们为它指定WebM和MP4两种来源
既不识别video
元素又不识别source
元素的浏览器(即不支持HTML5的浏览器)在解析文档时会完全忽略这些标签,它只会显示在video
元素结束标记之前输入的文本。
下面浏览一下source
元素的属性(如表17.2所示)。
名 称 | 描 述 |
---|---|
src | 视频来源的URL |
type | 用于指定视频的类型,帮助浏览器决定它是否能播放该视频。如17.8节中的例子所示,该属性的值反映的是视频的格式,即编解码器(如video/mp4 、video/webm 、video/ogg ) |
media | 用于为视频来源指定CSS3媒体查询,从而可以为具有不同屏幕尺寸的设备指定不同的(如更小的)视频 |
提示 如果在
video
元素本身的src
属性中指定了值,它就会自动覆盖任何source
元素中指定的来源。