HTML5タグリファレンス
source

投稿 | | カテゴリー タグリファレンス, HTML5
HTML5で追加

<source>要素は、<video><audio>などメディア要素の中で、ファイルを指定するために使用します。

<video>などメディア要素のsrc属性を使った場合、異なるバージョンまたはフォーマットのファイルを用意していても一つのファイルしか示すことが出来ません。src属性の代わりに、個々の異なるエンコーディングに対して独立した複数の<source>要素を使うことによって、優先順にデータを指定することができます。ブラウザは、指定された順に再生できるフォーマットのファイルを見つけ出し選択します。


カテゴリ
なし
配置場所
メディア要素(<video><audio>)の子要素として、フロー・コンテンツまたは<track>要素よりも前に配置。
内容
なし(空要素)
属性
src="URL"

メディアファイルのURLを指定します。

type="MIMEタイプ"

メディアファイルのMIMEタイプを指定します。指定する場合、値は有効なMIMEタイプでなければなりません。MIMEタイプに続けてコーデックパラメーターを記述することができます。 MIMEタイプによっては、正確なエンコード方法のためにコーデックパラメーターが必要となる場合があります。

パラメータを記述する場合は引用符「"」「'」を使用します。HTML5の仕様では、例のように外側にシングルクォーテーション、内側のコーデックにダブルクオーテーションを使うことになっています。逆の場合、解釈を誤ってしまうブラウザがあるようです。

<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>
参考:https://www.w3.org/TR/html5/embedded-content-0.html#attr-source-type
グローバル属性

accesskey, class, contenteditable, data-*, dir, hidden, id, lang, 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="//blog.emwai.jp/img/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>