audioタグ -音声ファイルを埋め込んで再生する|HTML辞典

<audio>タグとは?

<audio> タグは、HTML文書内で音声ファイルを埋め込んで再生するためのタグ です。
<source> タグを使用することで、異なるフォーマットの音声ファイルを指定し、再生できるブラウザの互換性を向上させることができます。

基本情報

コンテンツモデル

フローコンテンツ(Flow Content)、エンベッデッドコンテンツ(Embedded Content)、パルパブルコンテンツ(Palpable Content)。

閉じタグの有無

<audio> は開始タグ(<audio>)と閉じタグ(</audio>)の両方が必要です。

基本的な記述方法

<audio controls>
    <source src="audio.mp3" type="audio/mpeg">
    <source src="audio.ogg" type="audio/ogg">
    お使いのブラウザはオーディオ要素をサポートしていません。
</audio>

使用できる主な属性

<audio> タグには複数の属性があります。

属性名説明
src音声ファイルのURLを指定(<source> を使わない場合)<audio src="audio.mp3" controls></audio>
controls再生コントロールを表示<audio controls>...</audio>
autoplayページ読み込み時に自動再生(ミュートが必要)<audio autoplay muted>...</audio>
loop音声をループ再生<audio loop>...</audio>
muted音声をミュート状態で開始<audio muted>...</audio>
preload音声の事前読み込み設定<audio preload="auto">...</audio>

CSSを使ったデザイン変更

オーディオプレイヤーのスタイルを調整したい場合は、CSSを活用できます。

audio {
    width: 100%;
    max-width: 300px;
}

適切な使用例

✅ 音声を再生できるコントロールを表示する

<audio controls>
    <source src="audio.mp3" type="audio/mpeg">
    お使いのブラウザはオーディオ要素をサポートしていません。
</audio>

autoplay を使用して自動再生する(ミュート推奨)

<audio autoplay muted>
    <source src="background-music.mp3" type="audio/mpeg">
</audio>

loop を使用して音声を繰り返し再生する

<audio controls loop>
    <source src="background-music.mp3" type="audio/mpeg">
</audio>

preload を使用して読み込み設定を調整する

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

適切でない使用例(誤った使い方)

<audio> タグ内に <source> なしで src を使用するのは非推奨

<!-- NG: <source> を使わずに <audio> で直接指定 -->
<audio src="audio.mp3" controls></audio>

正しい書き方(<source> を使用)

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

autoplay を使う際に muted を指定しないとブラウザでブロックされる

<!-- NG: autoplay のみでは再生されない -->
<audio autoplay>
    <source src="audio.mp3" type="audio/mpeg">
</audio>

正しい書き方(muted を追加)

<audio autoplay muted>
    <source src="audio.mp3" type="audio/mpeg">
</audio>

<audio>タグと他のタグの違い

タグ役割特徴適切な用途
<audio>音声ファイルを再生controls でプレイヤー表示BGM、音声コンテンツの埋め込み
<video>動画を埋め込むcontrols で再生可能動画コンテンツの埋め込み
<source>音声や動画のソース指定<audio><video> 内で使用互換性向上のための複数フォーマット指定
<iframe>外部コンテンツの埋め込みYouTubeなどの動画埋め込み外部プレイヤーの利用

使用上の注意点

controls を指定してユーザーが操作できるようにする

  • ユーザーが再生・停止できるように controls をつけるのが推奨される。

autoplay を使用する場合は muted をセットにする

  • ユーザー操作なしで自動再生する場合は、ミュートが必須(ブラウザによっては autoplay だけでは動作しない)。

preload を適切に設定する

  • auto:ページ読み込み時に音声を事前読み込み(デフォルト)。
  • metadata:音声のメタデータのみを読み込み。
  • none:ページ読み込み時に音声を読み込まない。

関連タグ

まとめ

<audio>タグは、HTML文書内で 音声ファイルを埋め込んで再生するためのタグ です。
<source> を使用して複数フォーマットを指定し、controls を追加してユーザーが操作できるようにするのが一般的な使い方です。