<source> 要素
は、video
やaudio
などメディア要素の中で、ファイルを指定するために使用します。
video
などメディア要素のsrc 属性
を使った場合、異なるバージョンまたはフォーマットのファイルを用意していても一つのファイルしか示すことが出来ません。src 属性
の代わりに、個々の異なるエンコーディングに対して独立した複数の<source> 要素
を使うことによって、優先順にデータを指定することができます。ブラウザは、指定された順に再生できるフォーマットのファイルを見つけ出し選択します。
- カテゴリー
- なし
- 配置場所
- メディア要素(
video
、audio
)の子要素として、フロー・コンテンツまたは<track> 要素
よりも前に配置。 - 内容
- なし(空要素)
- 属性
-
src="URL"
- メディアファイルのURLを指定します。
type="MIMEタイプ"
- メディアファイルのMIMEタイプを指定します。指定する場合、値は有効なMIMEタイプでなければなりません。MIMEタイプに続けてコーデックパラメーターを記述することができます。 MIMEタイプによっては、正確なエンコード方法のためにコーデックパラメーターが必要となる場合があります。パラメータを記述する場合は引用符「
"
」「'
」を使用します。HTML5の仕様では、例のように外側にシングルクォーテーション、内側のコーデックにダブルクオーテーションを使うことになっています。逆の場合、解釈を誤ってしまうブラウザがあるようです。
参考:https://www.w3.org/TR/html5/embedded-content-0.html#attr-source-type<video preload autoplay loop controls width="480" height="360"> <source src='test.mp4' type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> <source src='test.ogv' type='video/ogg; codecs="theora, vorbis"'> </video>
- グローバル属性
accesskey
,autocapitalize
,autofocus
,class
,contenteditable
,data-*
,dir
,draggable
,enterkeyhint
,hidden
,id
,inputmode
,is
,itemid
,itemprop
,itemref
,itemscope
,itemtype
,lang
,nonce
,spellcheck
,style
,tabindex
,title
,translate
サンプル
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>HTML5 › source</title>
</head>
<body>
<h1>HTML5 › source</h1>
<video preload autoplay loop controls width="480" height="360" id="mov">
<source src="https://emwai.jp/files/reference/html5/iStock_000009283938PAL.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
</video>
<p>
<span id="pause">停止</span> |
<span id="play">再生</span>
</p>
<script>
var mov = document.getElementById('mov');
document.getElementById('pause').addEventListener('click', function(){
mov.pause();
});
document.getElementById('play').addEventListener('click', function(){
mov.play();
});
</script>
</body>
</html>