[PR] 本記事にはプロモーションが含まれています。

【HTML】audioタグとvideoタグの使い方|controls・autoplay・mutedなどの属性、sourceと字幕、WordPressでの埋め込み

HTML

以前は、Webページで音声や動画を再生するのにFlashのような別のソフトが必要でした。今は、HTMLの audio タグと video タグだけで再生できます。この記事では、それぞれの書き方とよく使う属性、形式の指定、字幕、WordPressでの埋め込み方をまとめます。

audio:音声を再生する

HTML
<audio src="music.mp3" controls>
  お使いのブラウザは音声要素をサポートしていません。
</audio>
audioタグとvideoタグの使い方:audio:音声を再生する
  • src:再生する音声ファイルの場所
  • controls:再生ボタンや音量などの操作パネルを表示する。audio は、これがないと画面に何も表示されない

タグの中の文章は、audio に対応していないとても古いブラウザでだけ表示されます。

video:動画を再生する

HTML
<video src="movie.mp4" controls width="640">
  お使いのブラウザは動画要素をサポートしていません。
</video>
audioタグとvideoタグの使い方:video:動画を再生する

video は controls がなくても映像の枠は表示されますが、再生や一時停止のボタンが出ないので、読者が操作できません。

スマホではみ出さないようにする

width="640" のように幅を決めると、画面の狭いスマホでははみ出します。CSSで、画面幅に合わせて縮むようにしておきます。

CSS
video {
  max-width: 100%; /* 画面より広くならない */
  height: auto;    /* 縦は横に合わせて縮む */
}

よく使う属性

属性意味
controls操作パネルを表示する
autoplayページを開いたら自動で再生する
muted音を消した状態で始める
loop最後まで再生したら最初から繰り返す
poster再生する前に表示する画像(video のみ)
playsinlineiPhoneで、全画面にしないでページの中で再生する(video のみ)
preloadページを開いたときにどこまで読み込むか。none(読み込まない)、metadata(長さなどだけ)、auto

自動再生には muted が必要

今の主なブラウザは、音の出る自動再生を止めます。ページを開いたとたんに音が鳴ると読者が驚くからです。自動で再生したいときは、muted を一緒に付けて、音を消した状態で始めます。iPhoneでページの中で再生させるには playsinline も付けます。

HTML
<!-- 背景のように、音なしで自動再生して繰り返す動画 -->
<video src="movie.mp4" autoplay muted loop playsinline></video>

source:形式を指定する

src 属性の代わりに source タグを並べると、形式の違うファイルをいくつか用意できます。ブラウザは上から順に見て、再生できる最初のファイルを使います。

HTML
<video controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.webm" type="video/webm">
  <p>動画を再生できません。</p>
</video>
audioタグとvideoタグの使い方:source:形式を指定する

今は、MP4(H.264)の動画やMP3の音声なら、主なブラウザで再生できます。そのため source は、「再生できないときの保険」というより、WebM のように同じ画質でも小さくなりやすい形式を先に書いて、対応しているブラウザではそちらを使ってもらう、という使い方が中心です。その場合は WebM を上、MP4 を下に書きます。

再生できないときはダウンロードを案内する

タグの中の文章には、「再生できません」だけでなく、ファイルへのリンクを入れておくと親切です。

HTML
<video controls>
  <source src="movie.mp4" type="video/mp4">
  <p>動画を再生できない場合は、<a href="movie.mp4">動画ファイル(MP4)</a>をダウンロードしてご覧ください。</p>
</video>

track:字幕を付ける

動画には、track タグで字幕を付けられます。字幕は WebVTT(.vtt)というテキストの形式で用意します。音を出せない場所で見ている人や、耳の聞こえにくい人にも内容が伝わります。

HTML
<video controls>
  <source src="movie.mp4" type="video/mp4">
  <track src="subtitles-ja.vtt" kind="subtitles" srclang="ja" label="日本語" default>
</video>
Plaintext
WEBVTT

00:00:00.000 --> 00:00:03.000
こんにちは。この動画では……

00:00:03.000 --> 00:00:06.000
HTMLの video タグを紹介します。

上が subtitles-ja.vtt の中身の例です。始まり --> 終わり の時間と、その間に表示する文字を並べます。

WordPressでは

WordPressでは、「動画」ブロックが video、「音声」ブロックが audio になります。ブロックを選んだときの右側の設定で、自動再生、ループ、ミュート、インライン再生(playsinline)、読み込み(preload)、ポスター画像を選べます。動画ブロックには字幕ファイルを追加する設定もあります。

自宅サーバーで動画を配信するとき

このブログのように自宅サーバーで動いている場合、WordPressに上げた動画は、再生されるたびに自宅のサーバーと回線を使って配信されます。動画は画像よりずっと大きいので、短い動画は圧縮して小さくし、preload="none" か metadata にしておきます。長い動画は、YouTubeなどに上げて埋め込むほうが、サーバーの負担が少なくて済みます(「iframe埋め込み:外部コンテンツ表示のポイント」)。

HTML全体の基本は「HTMLの基本|タグの書き方とよく使う5つのタグ」で紹介しています。

まとめ

  • 音声は audio、動画は video。controls を付けないと読者が操作できない
  • 自動再生するなら muted を一緒に。iPhoneでページの中で再生するなら playsinline
  • 動画は CSS の max-width: 100% でスマホでもはみ出さないようにする
  • source で形式の違うファイルを並べられる。字幕は track と .vtt ファイル
  • 自宅サーバーでは動画は小さく、長い動画は YouTube などに上げて埋め込む
ほかの開発・プログラミングの記事は、開発・プログラミングメモの目次から、テーマ別に探せます。

このブログは、にほんブログ村と人気ブログランキングに参加しています。記事が役に立ったら、下のランキングのバナーのどれかを押して応援してもらえると励みになります。

ブログランキング・にほんブログ村へにほんブログ村

サーバー構築・運用ランキング プログラムランキング

HTML
watasoftdevをフォローする

コメント