17.9 多个媒体源和source元素

接下来我们将学习source元素的各种可用的属性,不过在此之前,不妨先简单地了解一下为同一媒体指定多个来源的工作原理。

当浏览器发现video元素时,首先会查看该元素本身是否定义了src。如果没有,就会检查srouce元素。浏览器会逐个查看这些来源,直到找到它可以播放的一个来源。一旦找到这样一个,就会播放它并忽略其他的来源。

在前一个例子中,Safari会播放MP4文件并完全忽略WebM文件,而Firefox则无法播放MP4文件,从而转向它能播放的WebM文件,如图17.9.1所示。

17.9 多个媒体源和source元素 - 图1

图17.9.1 所有支持HTML5的浏览器都能加载该视频,因为我们为它指定WebM和MP4两种来源

既不识别video元素又不识别source元素的浏览器(即不支持HTML5的浏览器)在解析文档时会完全忽略这些标签,它只会显示在video元素结束标记之前输入的文本。

下面浏览一下source元素的属性(如表17.2所示)。

表17.2 source的属性
名  称 描  述
src 视频来源的URL
type 用于指定视频的类型,帮助浏览器决定它是否能播放该视频。如17.8节中的例子所示,该属性的值反映的是视频的格式,即编解码器(如video/mp4video/webmvideo/ogg
media 用于为视频来源指定CSS3媒体查询,从而可以为具有不同屏幕尺寸的设备指定不同的(如更小的)视频

提示 如果在video元素本身的src属性中指定了值,它就会自动覆盖任何source元素中指定的来源。