【ITニュース解説】How to Insert Sound in HTML
2025年09月25日に「Dev.to」が公開したITニュース「How to Insert Sound in HTML」について初心者にもわかりやすく解説しています。
ITニュース概要
HTMLで音を再生するには、`<audio>`タグを使う。`controls`属性で再生ボタンを表示し、`<source>`タグで音声ファイル(MP3, WAV, OGG等)のパスを指定する。複数の形式に対応させると良い。`autoplay`や`loop`などの属性で再生動作を設定できる。
ITニュース解説
HTMLでウェブページに音声を組み込む方法は、ウェブサイトをよりインタラクティブで魅力的なものにするための基本的な技術の一つである。システムエンジニアを目指す初心者にとって、これはウェブ開発の土台となる知識であり、ユーザー体験を向上させるために非常に重要だ。ここでは、どのようにしてHTMLドキュメントに音声を追加し、その再生方法を制御するのかを詳しく見ていこう。
ウェブページに音声を埋め込む最も基本的な方法は、HTMLのaudioタグを使用することである。このaudioタグは、ウェブブラウザに対して「ここに音声コンテンツを表示・再生するための領域がある」と指示する役割を果たす。まず、単純にaudioタグをHTMLファイル内に記述する。
<audio></audio>
この状態では、まだ音声ファイルが指定されていないため何も表示されない。そこで、ユーザーが音声の再生や停止、音量調整などを行えるようにするためのコントロールパネルを表示させるために、controlsという属性をaudioタグに追加する。このcontrols属性は、特別な値を設定する必要はなく、属性があるだけで機能が有効になる「真偽属性」と呼ばれるタイプのものである。
<audio controls></audio>
このように記述すると、ウェブブラウザには、一般的な音声プレーヤーに見られるような再生ボタン、一時停止ボタン、音量スライダー、再生位置を示すシークバーなどのコントロールパネルが表示されるようになる。これにより、ユーザーはウェブページ上で音声コンテンツを自由に操作できるようになるのだ。
次に、実際に再生したい音声ファイルを指定する必要がある。音声ファイルは、audioタグの内部にsourceタグを使って指定する。sourceタグは、再生する音声ファイルの場所(パス)をsrc属性で、そしてそのファイルの形式をtype属性でウェブブラウザに伝える。
<audio controls>
<source src="./audio/sound-effect.wav" type="audio/wav" />
</audio>
上記の例では、./audio/sound-effect.wavというパスにあるWAV形式の音声ファイルを指定している。src属性の値は、HTMLファイルからの相対パスや、インターネット上の絶対URLなど、音声ファイルがどこにあるかを正確に指し示す必要がある。type属性は、audio/wavのように、MIMEタイプと呼ばれる形式で音声ファイルの具体的な種類を記述する。これは、ブラウザがファイルをダウンロードする前に、それが再生可能かどうかを判断する手助けとなるため、セマンティックなHTML(意味が明確なHTML)を保つ上で推奨される。
しかし、ウェブブラウザの種類やバージョンによって、サポートしている音声ファイルの形式は異なる場合がある。すべてのブラウザがすべての音声形式をサポートしているわけではないため、複数の形式の音声ファイルを用意しておくことが、ウェブページ上で安定して音声を再生させるための重要なテクニックとなる。例えば、広く利用されている音声形式にはMP3、WAV、OGGがある。これらの形式のファイルを複数用意し、それぞれを異なるsourceタグで指定することで、ブラウザはリストの先頭から順に、自身がサポートしている最初の音声ファイルを自動的に選択して再生してくれる。
<audio controls>
<source src="./audio/sound-effect.wav" type="audio/wav" />
<source src="./audio/sound-effect.mp3" type="audio/mp3" />
Your browser does not support the audio tag.
</audio>
この例では、まずWAV形式のファイルを試み、もしブラウザがWAVをサポートしていなかったり、ファイルに問題があったりした場合には、次にMP3形式のファイルを試みる。このように複数の選択肢を提供することで、より多くのユーザー環境で音声が問題なく再生される可能性を高めることができる。もし、どのsourceタグで指定されたファイルもブラウザがサポートしなかった場合、audioタグの閉じタグの前に記述されたテキスト、例えば「Your browser does not support the audio tag.」というメッセージがユーザーに表示される。これは、ユーザーに対して何が起こっているかを伝えるための親切な配慮である。
audioタグには、controls属性以外にも、音声の再生動作をより細かく制御するための便利な属性がいくつか存在する。これらの属性も、多くは値を指定する必要のない真偽属性である。
一つ目はmuted属性である。これをaudioタグに追加すると、ウェブページが読み込まれた際に、音声が自動的にミュート(消音)された状態で再生が始まる。ユーザーは後からコントロールパネルを使って音量を調整したり、ミュートを解除したりすることができる。
二つ目はloop属性である。この属性を指定すると、音声ファイルが最後まで再生された後、自動的に最初から繰り返し再生されるようになる。背景音楽など、特定の音声を継続的に流したい場合に有用である。
三つ目はautoplay属性である。これをaudioタグに追加すると、ウェブページが読み込まれた直後に、音声が自動的に再生され始める。しかし、このautoplay属性は、ユーザー体験に大きな影響を与える可能性があるため、使用には注意が必要だ。多くのブラウザでは、ユーザーが明示的に操作しない限り、自動再生をブロックする設定がデフォルトになっている場合が多い。これは、予期せぬ音声再生がユーザーを驚かせたり、不快にさせたりすることを防ぐための対策である。もしautoplayを使う場合は、同時にmuted属性も指定し、まずはミュート状態で自動再生を開始し、ユーザーが手動で音量を調整できるようにするといった配慮が推奨されることもある。
これらの属性は、組み合わせて使用することも可能だ。例えば、以下のように記述すると、ウェブページが読み込まれた瞬間に音声が自動的に再生を開始し、それが繰り返し再生され続けるようになる。
<audio controls autoplay loop>
<source src="./audio/sound-effect.wav" type="audio/wav" />
<source src="./audio/sound-effect.mp3" type="audio/mp3" />
Your browser does not support the audio tag.
</audio>
このコードでは、autoplay属性によってページがロードされると同時に音声が再生され始め、loop属性によって音声が終了することなく繰り返し再生される。さらにcontrols属性があるため、ユーザーは再生されている音声のミュートや再生・停止などを手動で操作することも可能だ。
このように、HTMLのaudioタグとそれに付随するsourceタグ、そしてさまざまな属性を理解し適切に使いこなすことで、システムエンジニアを目指す初心者は、ウェブページに柔軟かつ効果的に音声コンテンツを組み込み、ユーザーに豊かな体験を提供できるようになる。ウェブ開発の現場では、常にユーザー体験を第一に考え、適切なタイミングで適切な方法で音声を使用することが求められるため、これらの基本的な知識をしっかりと身につけておくことが非常に重要である。