HTML

HTMLのaudioタグを使って音声ファイルを再生する方法

Webページに音声を追加することは、ユーザー体験を向上させる効果的な方法の一つです。HTML5では、audioタグを使用して簡単に音声ファイルを埋め込むことができます。
この記事では、audioタグの基本的な使い方から、対応する音声ファイルの種類、ブラウザや端末の対応状況、さらには実際のサンプルコードまで、初心者にもわかりやすく解説します。

audioタグとは

audioタグは、HTML5で導入された要素で、Webページに音声コンテンツを埋め込むために使用されます。このタグを使うことで、追加のプラグインや外部プレイヤーを必要とせずに、ブラウザ上で直接音声を再生することが可能になります。

audioタグ対応音声ファイルの種類

audioタグで使用できる音声ファイルの形式には、以下のようなものがあります。

  • MP3(.mp3): 広くサポートされており、互換性が高い。
  • WAV(.wav): 高品質な音声を提供するが、ファイルサイズが大きい。
  • OGG(.ogg): オープンフォーマットであり、特許料が不要。

対応ブラウザと種類

audioタグは、主要なWebブラウザで広くサポートされています。ただし、対応している音声ファイルの形式はブラウザによって異なるため、複数の形式を用意することが推奨されます。

  • Google Chrome: MP3、WAV、OGGに対応。
  • Mozilla Firefox: MP3、WAV、OGGに対応。
  • Safari: MP3、WAVに対応。
  • Microsoft Edge: MP3、WAVに対応。
  • Internet Explorer: MP3、WAVに限定的な対応。

対応端末、PC(Windows、Mac)、スマホ(iPhone、Android)の種類

audioタグは、PCやスマートフォンなど、さまざまな端末で利用できます。ただし、端末やOSによってサポートされている音声ファイルの形式に違いがあるため、互換性を考慮する必要があります。

  • Windows PC: Chrome、Firefox、EdgeなどのブラウザでMP3、WAV、OGGに対応。
  • Mac: Safari、Chrome、FirefoxなどのブラウザでMP3、WAVに対応。
  • iPhone(iOS): SafariでMP3、WAVに対応。
  • Androidスマホ: Chrome、FirefoxでMP3、WAV、OGGに対応。

どのブラウザにも対応する場合、広くサポートされているmp3ファイルを用意するとよいです

実際のサンプルHTMLコード

以下は、audioタグを使用して音声ファイルを再生するための基本的なサンプルコードです。今回、音声ファイル「clocktowerbell.mp3」を用意しました。

<audio controls preload="auto">
    <source src="clocktowerbell.mp3" type="audio/mpeg" />
</audio>

controlsの説明

controls属性を追加することで、音声再生のためのコントロール(再生/一時停止ボタン、音量調整など)が表示されます。この属性がない場合、音声は再生できますが、ユーザーがコントロールすることはできません。

preloadの説明・種類

preload属性は、ページ読み込み時に音声ファイルを事前に読み込むかどうかを指定します。以下の値を指定できます。

  • auto: 音声ファイルを事前に読み込みます(デフォルト)。
  • metadata: 音声のメタデータのみを事前に読み込みます。
  • none: 音声ファイルの事前読み込みを行いません。

sourceの説明

sourceタグは、audioタグ内で使用され、再生する音声ファイルのパスと形式を指定します。複数のsourceタグを使用することで、異なる形式の音声ファイルを提供し、ブラウザの互換性を向上させることができます。

音声ファイル(mp3)をaudioタグで再生するデモページ

以下のリンクから、実際にaudioタグを使用して音声ファイルを再生するデモページを確認できます。

音声ファイル(mp3)をaudioタグで再生するデモページ

まとめ

audioタグを使用することで、Webページに簡単に音声コンテンツを追加することができます。互換性を考慮して複数の音声ファイル形式を用意し、さまざまなブラウザや端末での再生をサポートしましょう。この記事が、初心者の方にもわかりやすいガイドとなれば幸いです。

 
※流用される場合は自己責任でお願いします。
 デモページheadタグ内のGoogleアナリティクスタグは流用しないで下さい。