Я использую video.js для показа видео html5 в адаптивных макетах (используя Настройка Дэйва Руперта для изменения ширины и высоты в соответствии с размером контейнера). Сейчас я работаю над сайтом, который должен будет отображать видео большего размера, где это уместно, и я хотел бы использовать атрибут media для показа видео из другого источника. Я мог бы использовать javascript для изменения источника, но я хотел бы иметь возможность использовать медиа-запрос, если это возможно, так что, если JS отключен, подходящее видео все равно будет отображаться.
Я настроил свой код следующим образом:
<video id="lightTouchVideo" class="video-js vjs-default-skin" controls preload="none" poster="/Content/images/video-posters/light-touch.jpg" data-setup="{}">
<source src="/Content/video/light-touch-240p.mp4" type='video/mp4'>
<source src="/Content/video/light-touch-240p.webm" type='video/webm'>
<source src="/Content/video/light-touch-240p.ogv" type='video/ogv'>
<source src="/Content/video/light-touch-360p.mp4" type='video/mp4' media="all and (min-width:599px)">
<source src="/Content/video/light-touch-360p.webm" type='video/webm' media="all and (min-width:599px)">
<source src="/Content/video/light-touch-360p.ogv" type='video/ogv' media="all and (min-width:599px)">
</video>
Я пытался использовать совершенно разные видео для двух источников, и я просто получаю то, что указано в источнике первым. Я пробовал в последних версиях Firefox, Chrome и IE, поэтому я не думаю, что браузер не поддерживает атрибут видео мультимедиа (хотя, по слухам, его рассматривали для удаления из спецификации).
Итак, поддерживает ли video.js атрибут media?