source
элемент позволяет авторам определять многократные ресурсы альтернативных средств массовой информации для элементов СМИ. Это ничего непредставляет самостоятельно.
src
признак дает адрес ресурса СМИ. Ценность должна быть действительным непустым URL, потенциально окруженным местами. Этот признак должен присутствовать.
Динамически изменение a source
элемент и его признак, когда элемент уже вставлен в a video
или audio
элемент не будет иметь никакого эффекта. Чтобы измениться, что играет, просто используйте src
признак на элементе СМИ непосредственно, возможно используя canPlayType()
метод, чтобы выбрать от среди доступных ресурсов. Вообще, управление source
элементы вручную после документа были разобраны, unncessarily сложный подход.
type
признак дает тип ресурса СМИ, чтобы помочь пользовательскому агенту определить, может ли это играть этот ресурс СМИ прежде, чем принести его. Если определено, его ценность должна быть действительным типом ПАНТОМИМЫ. codecs
параметр, который определяют определенные типы ПАНТОМИМЫ, мог бы быть необходимым, чтобы определить точно, как ресурс закодирован. [RFC4281]
Следующий список показывает некоторые примеры того, как использовать codecs=
Параметр ПАНТОМИМЫ в type
признак.
- H.264 Принужденное основное видео профиля (главное и расширенное совместимое видео) уровень 3 и Низкая Сложность аудио AAC в контейнере MP4
-
<source src='video.mp4' type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
- H.264 Расширенное видео профиля (совместимый с основанием) уровень 3 и Низкая Сложность аудио AAC в контейнере MP4
-
<source src='video.mp4' type='video/mp4; codecs="avc1.58A01E, mp4a.40.2"'>
- H.264 Главный уровень 3 видео профиля и Низкая Сложность аудио AAC в контейнере MP4
-
<source src='video.mp4' type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"'>
- H.264 ‘Высоко’ представляют видео (несовместимый с главным, основанием или расширенными профилями) уровень 3 и Низкая Сложность аудио AAC в контейнере MP4
-
<source src='video.mp4' type='video/mp4; codecs="avc1.64001E, mp4a.40.2"'>
- MPEG-4 Визуальное Простое видео Уровня 0 Профиля и Низкая Сложность аудио AAC в контейнере MP4
-
<source src='video.mp4' type='video/mp4; codecs="mp4v.20.8, mp4a.40.2"'>
- MPEG-4 Продвинутое Простое видео Уровня 0 Профиля и Низкая Сложность аудио AAC в контейнере MP4
-
<source src='video.mp4' type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"'>
- MPEG-4 Визуальное Простое видео Уровня 0 Профиля и аудио AMR в 3GPP контейнер
-
<source src='video.3gp' type='video/3gpp; codecs="mp4v.20.8, samr"'>
- Видео Theora и аудио Vorbis в контейнере Ogg
-
<source src='video.ogv' type='video/ogg; codecs="theora, vorbis"'>
- Видео Theora и аудио Speex в контейнере Ogg
-
<source src='video.ogv' type='video/ogg; codecs="theora, speex"'>
- Одно только аудио Vorbis в контейнере Ogg
-
<source src='audio.ogg' type='audio/ogg; codecs=vorbis'>
- Одно только аудио Speex в контейнере Ogg
-
<source src='audio.spx' type='audio/ogg; codecs=speex'>
- Одно только аудио FLAC в контейнере Ogg
-
<source src='audio.oga' type='audio/ogg; codecs=flac'>
- Видео Dirac и аудио Vorbis в контейнере Ogg
-
<source src='video.ogv' type='video/ogg; codecs="dirac, vorbis"'>
media
признак дает намеченный тип носителя ресурса СМИ, чтобы помочь пользовательскому агенту определить, полезен ли этот ресурс СМИ для пользователя прежде, чем принести его. Его ценность должна быть действительным вопросом СМИ.
Неплатеж, если media
признак опущен,»all
«, означая, что по умолчанию ресурс СМИ подходит для всех СМИ.
Если a source
элемент вставлен как ребенок элемента СМИ, который имеет нет src
признак и чей networkState
имеет ценность NETWORK_EMPTY
, пользовательский агент должен призвать алгоритм выбора ресурса элемента СМИ.
Признаки IDL src
, type
, и media
должен отразить соответствующие признаки содержания того же самого имени.
Если автор не уверен, будут ли пользовательские агенты все в состоянии отдать ресурсы СМИ, если, автор может слушать error
случай на последнемsource
элемент и более аккуратное поведение отступления:
<script> function fallback(video) { // replace <video> with its contents while (video.hasChildNodes()) { if (video.firstChild instanceof HTMLSourceElement) video.removeChild(video.firstChild); else video.parentNode.insertBefore(video.firstChild, video); } video.parentNode.removeChild(video); } </script> <video controls autoplay> <source src='video.mp4' type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> <source src='video.ogv' type='video/ogg; codecs="theora, vorbis"' onerror="fallback(parentNode)"> ... </video>