トップページ >  HTML5 >  動画や音声を扱う
初版2011/06/20: 最終更新日2011/06/20
動画や音声を扱う
目次
動画や音声を扱うには
音声を扱う
動画を扱う
メディアファイルの複数指定
動画や音声を扱うには

HTML5では、音声(audio)や動画(video)を含め、組み込み要素が追加されました。
特に音声(audio)や動画(video)については、HTML4まではプラグインなどが必要でした。
HTML5からは、ブラウザが対応していれば、プラグイン無しに音声(audio)や動画(video)などのマルチメディアコンテンツを、画像の<img>要素同様に扱うことが出来ます。

音声を扱う

音声を扱うには「<audio>」要素を用います。
扱い方は<img>要素ににています。

リスト1. <audio>要素の記述例

《単純な記述例》
<audio src="samp01.mp3" controls></audio>
《様々な記述例》
<audio controls preload="auto" autoplay loop>
	<source src="samp01.mp3" type="audio/mp3" />
	<source src="samp01.ogg" type="audio/ogg" />
	<source src="samp01.wav" type="audio/wav" />
	<p>対応しないブラウザには、非対応のお知らせなどを表示できます。</p>
</audio>

《下記の実装例》
<audio id="audio" controls>
	<source src="samp01.ogg" type="audio/ogg" />
	<source src="samp01.mp3" type="audio/mp3" />
	<source src="samp01.wav" type="audio/wav" />
	<b style="color:red;">このブラウザは&lt;audio&gt;要素に対応していません。</b>
</audio>

* 対応ブラウザとコーディック

2011年6月現在、<audio>要素に対応しているブラウザと利用可能なコーコーデック (Codec)は下記の通りです。

<audio>要素の対応表
ブラウザ mp3 ogg wav
Firefox(3.5~) ×
Safari(3~) ×
Chrome(3~)
Opera(11~) ×
IE(9~)

* スクリプトからの操作

<audio>要素は、Javascriptなどからも操作が可能です。

リスト2. <audio>要素のスクリプト例

<input type="button" value="再生" onclick="myAudioStart();" />
<input type="button" value="中断" onclick="myAudioStop();" />
<script>
// 上記の実装例を操作します。
function myAudioStart(){
	document.getElementById('audio').play();
}
function myAudioStop(){
	document.getElementById('audio').pause();
}
</script>

* 属性一覧

<audio>要素は、以下のような属性を持ちます。

src
メディアファイルを指定する。
ブラウザにより、対応するコーディックが異なるので、コーディックを複数準備したい場合は<source>要素を使う。
type
メディアファイルをコーディックを指定する。
ブラウザにより、対応するコーディックが異なるので、コーディックを複数準備したい場合は<source>要素を使う。
preload
あらかじめ読み込む。
事前にロードする(auto 既定値)、最初の情報だけを事前にロードする(metadata)、事前にはロードしない(none)
なお、autoplay属性がある場合は、無視される。
autoplay
自動再生する。
loop
ループ再生を指定する。
controls
コントローラを表示する。
動画を扱う

動画を扱うには「<video>」要素を用います。
扱い方は<img>要素ににています。

リスト1. <video>要素の記述例

《単純な記述例》
<video src="html5_sample_0001.mp4" controls></video>
《様々な記述例》
<video controls preload="auto" autoplay loop>
	<source src="html5_sample_0001.mp4" type="video/mp3" />
	<source src="html5_sample_0001.ogg" type="video/ogg" />
	<p>対応しないブラウザには、非対応のお知らせなどを表示できます。</p>
</video>

《下記の実装例》
<video id="video" controls>
	<source src="html5_sample_0001.ogv" type="video/ogg" />
	<source src="html5_sample_0001.ogg" type="video/ogg" />
	<source src="html5_sample_0001.mp4" type="video/mp4" />
	<b style="color:red;">このブラウザは&lt;video&gt;要素に対応していません。</b>
</video>

* 対応ブラウザとコーディック

2011年6月現在、<video>要素に対応しているブラウザと利用可能なコーコーデック (Codec)は下記の通りです。

<video>要素の対応表
ブラウザ mp4 H.264 ogg Theora
Firefox(4~) ×
Safari(3~) ×
Chrome(3~)
Opera(11~) ×
IE(9~)

* スクリプトからの操作

<video>要素は、Javascriptなどからも操作が可能です。

リスト2. <video>要素のスクリプト例

<input type="button" value="再生" onclick="myVideoStart();" />
<input type="button" value="中断" onclick="myVideoStop();" />
<script>
// 上記の実装例を操作します。
function myVideoStart(){
	document.getElementById('video').play();
}
function myVideoStop(){
	document.getElementById('video').pause();
}
</script>

* 属性一覧

<video>要素は、以下のような属性を持ちます。

src
メディアファイルを指定する。
ブラウザにより、対応するコーディックが異なるので、コーディックを複数準備したい場合は<source>要素を使う。
type
メディアファイルをコーディックを指定する。
ブラウザにより、対応するコーディックが異なるので、コーディックを複数準備したい場合は<source>要素を使う。
preload
あらかじめ読み込む。
事前にロードする(auto 既定値)、最初の情報だけを事前にロードする(metadata)、事前にはロードしない(none)
なお、autoplay属性がある場合は、無視される。
autoplay
自動再生する。
loop
ループ再生を指定する。
controls
コントローラを表示する。
width
幅を指定する。
height
高さを指定する。
poster
動画が再生されなかった場合の代替画像などを指定する。
メディアファイルの複数指定

音声(audio)や動画(video)要素は、ブラウザによって対応するコーディックが異なります。
HTML5では、複数のブラウザに対応するようにメディアファイルを複数指定することが可能です。
記述例は上記「音声を扱う」「動画を扱う」を参照してください。

* 属性一覧

<source>要素は、以下のような属性を持ちます。

src
メディアファイルを指定する。
必須属性
type
メディアファイルのMIMEタイプやコーデックを指定する。
media
どのメディア向けであるかを指定する。
指定できる値には「screen」「tv」「print」「aural」など。
既定値は「all」。