0Pricing
HTML Academy · レッスン

audio要素のsrc controls loop autoplay

ネイティブHTML5属性でオーディオプレーヤーを埋め込みます

「audio要素のsrc controls loop autoplay」はCoddyKit上の無料HTML Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHTML Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 HTML Academyコースには全4レッスンが含まれています。

HTML5 のネイティブオーディオ

HTML5では、プラグインなしでオーディオを埋め込むために <audio> 要素が導入されました。

<audio src="podcast.mp3" controls>
  Your browser does not support audio.
</audio>
<!-- controls: show the default player UI (play, pause, volume) -->
<!-- Fallback text is shown to browsers that don't support audio -->

controls 属性

controls 属性は、ブラウザーに組み込まれたオーディオプレーヤーを表示します。

<!-- Without controls: audio plays but no UI is visible -->
<audio src="bg-music.mp3"></audio>

<!-- With controls: browser shows play/pause, volume, scrubber -->
<audio src="podcast.mp3" controls></audio>

<!-- Always include controls for user-accessible audio
     Unless it is a background ambient sound (use controls anyway for accessibility) -->

loop 属性

loop 属性は、オーディオの再生が終わると最初から再生します。

<audio src="bg-music.ogg" controls loop></audio>
<!-- loop is a boolean attribute -->
<!-- Good for: background music, demo soundscapes -->
<!-- Bad UX: loops without user consent are annoying -->

autoplay 属性

autoplay 属性は、ページの読み込み時に再生を開始します。

<audio src="alert.mp3" autoplay></audio>
<!-- Most modern browsers BLOCK autoplay for audio by default -->
<!-- Exception: autoplay + muted is allowed -->
<!-- Browsers allow autoplay if the user has interacted with the page -->

<!-- The muted workaround: -->
<audio src="bg.mp3" autoplay muted loop></audio>

muted 属性

muted 属性は、ミュートされた状態でオーディオを開始します。

<!-- Muted audio can autoplay in most browsers: -->
<audio src="ambient.mp3" autoplay muted loop></audio>

<!-- User can unmute with the controls -->
<audio src="ambient.mp3" autoplay muted loop controls></audio>

preload 属性

preload 属性は、どの程度のデータを読み込むかをヒントとして示します。

<audio src="podcast.mp3" controls preload="none">...</audio>
<!-- none: don't preload anything (saves bandwidth on mobile) -->

<audio src="short-clip.mp3" controls preload="auto">...</audio>
<!-- auto: preload the entire file (browser decides) -->

<audio src="song.mp3" controls preload="metadata">...</audio>
<!-- metadata: preload only duration and basic info (good default) -->

JavaScript によるオーディオ制御

JavaScriptでオーディオを制御します。

const audio = document.getElementById('my-audio');

// Play:
audio.play();

// Pause:
audio.pause();

// Current time (seconds):
audio.currentTime = 30;  // jump to 30 seconds

// Volume (0 to 1):
audio.volume = 0.5;

// Duration:
console.log(audio.duration);

オーディオイベント

よく使われるオーディオイベント:

audio.addEventListener('play', () => console.log('Playing'));
audio.addEventListener('pause', () => console.log('Paused'));
audio.addEventListener('ended', () => console.log('Finished'));
audio.addEventListener('timeupdate', () => {
  console.log('Position:', audio.currentTime);
});
audio.addEventListener('error', () => console.log('Error loading audio'));

カスタムオーディオプレーヤー

JavaScriptとCSSでカスタムプレーヤーを作成します。

<div class="audio-player">
  <audio id="player" src="podcast.mp3" preload="metadata"></audio>
  <button id="play-btn" aria-label="Play">▶</button>
  <input type="range" id="scrubber" value="0" min="0" max="100">
  <span id="time">0:00</span>
</div>
<script>
const audio = document.getElementById('player');
document.getElementById('play-btn').addEventListener('click', () => {
  audio.paused ? audio.play() : audio.pause();
});
</script>

アクセシブルなオーディオ

オーディオのアクセシビリティ要件:

  • すべてのオーディオコンテンツにトランスクリプトを用意します
  • ポッドキャストでは、テキストトランスクリプトへのリンクを提供します
  • 3秒を超えて自動再生するオーディオは、WCAG 1.4.2に違反します
  • コントロールをキーボードで操作できるようにします(ネイティブコントロールは対応しています)

src と source 要素

<source> を使って形式の代替候補を指定します(次のレッスン)。

<!-- Single format: -->
<audio controls src="podcast.mp3">...</audio>

<!-- Multiple formats: -->
<audio controls>
  <source src="podcast.opus" type="audio/ogg; codecs=opus">
  <source src="podcast.mp3" type="audio/mpeg">
  Your browser does not support audio.
</audio>

クイックチェック

ブラウザーに組み込まれたプレーヤーUIを表示するオーディオ属性はどれでしょうか。

復習:audio 要素

audio 要素の要点:

  • controls — プレーヤーUIを表示します(ほとんどの場合、必ず含めます)
  • loop — 再生終了時に最初から再生します
  • autoplay — 読み込み時に再生します(ほとんどのブラウザーでブロックされます)
  • muted — ミュート状態で開始します(ほとんどのブラウザーで自動再生が可能になります)
  • preload="metadata" — ポッドキャストや音楽に適したデフォルトです
  • アクセシビリティのためにトランスクリプトを提供します

よくある質問

「audio要素のsrc controls loop autoplay」レッスンは無料ですか?

はい。「audio要素のsrc controls loop autoplay」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、HTML Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 HTML Academyコースには全4レッスンが含まれています。

「audio要素のsrc controls loop autoplay」で何を学びますか?

ネイティブHTML5属性でオーディオプレーヤーを埋め込みます ブラウザで直接実行するハンズオンコードでHTML Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

HTML Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのHTML Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「audio要素のsrc controls loop autoplay」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このHTML Academyレッスンでコードを書いて実行できますか?

はい。すべてのHTML Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. audio要素のsrc controls loop autoplay
  2. video要素とアスペクト比
  3. 複数形式に対応するsource要素
  4. trackとWebVTTによる字幕
← HTML Academyに戻る