HTML5では<video>や<audio>といったタグを用いてマークアップを行うだけで、簡単に動画や音声の再生ができるようになる
HTML5では、動画や音声といったマルチメディアコンテンツを取り扱うことができるようになりました。従来、こうしたコンテンツの再生にはFlashなどのプラグイン技術が必須とされてきました。
しかし、HTML5では<video>や<audio>といったタグを用いてマークアップを行うだけで、簡単に動画や音声の再生を行えます。それだけではありません。ブラウザによって直接これらの要素がサポートされることで、JavaScriptやCSSといった他のWeb技術とも非常に親和性が高いのも利点の1つです。JavaScriptを駆使して独自のビデオプレーヤを作ることも、CSSを使って動画にエフェクトを施すことも容易です。
今回から数回にわたって、HTML5のマルチメディア機能を掘り下げて解説したいと思います。主に取り上げるコンテンツは以下のようなものです。
今回は、video/audio要素を用いたマークアップについて解説します。ただし、video/audio要素に関する仕様はいまだに変化し続けているため、今回の記事は5月25日時点の仕様であることをご理解ください。
video要素を利用するのは、基本的にとても簡単です。以下のように、src属性に動画/音声ファイルのURLを指定するだけです。
<!DOCTYPE html> <video src="http://upload.wikimedia.org/wikipedia/commons/e/e6/Typing_example.ogv" width="300" height="150" controls></video>
ここでは他にwidth属性(動画の幅を指定)、height属性(動画の高さを指定)、controls属性(ブラウザネイティブのコントローラを表示)を使用しています。上のコードをブラウザ上で実行すると、以下のような結果が得られます。上記のファイルを再生できるブラウザはGoogle Chrome、Firefox、Operaです(動画フォーマットにOggを使用しているため。後述)。
video要素が持つ属性は以下のとおりです。
また、video/audio要素の内部には、ブラウザがその要素に対応していないときの代替コンテンツを記述することができます。代替コンテンツを利用すれば、video要素をサポートしていないブラウザ上でもFlash Playerなどを用いて動画/音声の再生を行ったり、コンテンツにアクセスしたりするための別の手段を提供することもできます。
上記の属性や代替コンテンツを使用した、video要素のマークアップ例をもう一つ挙げます。画面が表示された瞬間に再生が始まり、永遠にループ再生されるような、架空の動画広告をマークアップする例です。
<aside class="ad"> <h1>広告エリア</h1> <a href="http://external_site.com" title="スポンサーからのPR" rel="external" target="_blank"> <!-- 自動で再生し、無限にループする動画広告。 音声は出力しない。 --> <video src="ad_movie.ogg" autoplay loop audio="muted" poster="ad_poster.png" width="200" height="100"> <!-- ブラウザがvideo要素に対応していない場合は静止画が表示される --> <img src="ad_static.png" width="200" height="100" alt=""> </video> </a> </aside>
audio要素は、音声を再生するための要素です。使い方も簡単で、video要素と属性の多くが共通しています。
audio要素が持つ属性は以下のとおりです。
Copyright © ITmedia, Inc. All Rights Reserved.