audio要素は HTML5で新たに導入された要素で、注目度が高い機能の 1つでしょう。これまでウェブ・ページにオーディオを組み込みたい場合は、Flashなどのプラグインが使われてきました。しかし、HTML5では、プラグインなしに、オーディオをウェブ・ページに組み込むことができるのです。
-
では、まず最初に、audio要素の使い方を簡単に見て行きましょう。audio要素で再生させたいオーディオ・ファイルの URLを、src属性に指定します。これだけで、オーディオの準備が完了です。
とはいえ、src属性だけではオーディオを再生することができません。再生ボタンも停止ボタンもないからです。ユーザーに対してオーディオを制御するためのインターフェースを表示させるためには、controls属性を使います。この属性は論理属性です。このコンテンツ属性をセットしておかないと、JavaScriptなしには、オーディオを再生できませんので、注意してください。
audio要素のマークアップ例
<audio src="mscs/Tchaikovsky-Symphony-No6-1st-2013.mp3" controls="controls">
<p>ご利用のブラウザでは再生出来ません。<a href="mscs/Tchaikovsky-Symphony-No6-1st-2013.mp3" title="チャイコフスキー:交響曲第6番 ロ短調 Op.74 《悲愴》 第1楽章">こちら</a>からダウンロードして下さい。</p>
</audio>
audio要素のマークアップ例のサンプル
src属性を使って mp3形式のオーディオ・ファイルを指定し、controls属性をセットしています。
ここで、audio要素の中に p要素を入れている点に注目してください。これは、audio要素に対応していないブラウザに対して表示させたいコンテンツをマークアップしたものです。現状では audio要素に対応していないブラウザがありますので、何かしらのコンテンツを入れておくのが良いでしょう。この例では、オーディオ・ファイルをダウンロードできるよう、a要素を使ってオーディオ・ファイルへのハイパーリンクを用意しています。
なお、この仕組みは、audio要素に対応しているものの、オーディオ・ファイルを読み取れなかったり、オーディオ・ファイルの形式をサポートしていないなどの理由で、オーディオが再生されなかった場合のフォールバック・コンテンツとしては機能しません。あくまでも、audio要素を全くサポートしていないブラウザ向けのコンテンツとなることに留意してください。
再生や停止や音量変更やタイムラインなどが表示されますが、ブラウザによってそのインタフェースは異なります。
audio要素には、controls属性や src属性の他、オート・バッファを行う autobuffer属性、自動再生を行う autoplay属性、ループ再生を行う loop属性が規定されています。これらのコンテンツ属性の使い方は video要素と同じです。
また、source要素を使って、複数のオーディオ・ファイルを指定することができます。これについても video要素と同じです。
さらに、オーディオ再生を JavaScriptから制御することが可能ですが、映像がない点だけを除いて、video要素と同じです。
詳細については、「video 要素」のページを御覧ください。
2009年12月現在で、audio要素に対応しているブラウザは、Firefox、Safari、Chrome です。それぞれのブラウザがサポートする代表的なオーディオ形式は以下のとおりです。
オーディオ形式 | Firefox | Safari | Chrome |
---|---|---|---|
MP3 | × | ○ | ○ |
AAC | × | ○ | × |
Ogg Vorbis | ○ | × | ○ |
WAV | ○ | ○ | × |