HTML5 오디오 태그로 오디오 파일 재생하기

HTMLHTMLBeginner
지금 연습하기

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

이 랩에서는 HTML5 오디오 태그를 사용하여 웹 페이지에 오디오 파일을 직접 임베드하고 재생하는 방법을 배우게 됩니다. 이 랩은 웹 개발자를 위한 필수 기술을 다루며, 오디오 태그의 기본 구조 이해, 오디오 컨트롤 구성, 여러 오디오 소스 형식 추가, 고급 속성 탐색, 간단한 오디오 플레이어 웹페이지 생성 등을 포함합니다. 실습을 통해 외부 플러그인에 의존하지 않고 네이티브 HTML5 기능을 사용하여 오디오 재생 기능을 구현하는 실질적인 경험을 얻게 될 것입니다.

단계별 지침을 따르면 오디오 콘텐츠를 웹 페이지에 원활하게 통합하고, 오디오 플레이어 컨트롤을 사용자 정의하며, 브라우저 간 호환성을 보장하는 방법을 알게 될 것입니다. 이 랩은 오디오 요소 작업에 대한 포괄적인 소개를 제공하여 풍부한 멀티미디어 경험으로 웹 애플리케이션을 향상시킬 수 있도록 합니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 100%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

HTML5 오디오 태그 기본 이해

이 단계에서는 외부 플러그인을 사용하지 않고 웹 페이지에 오디오 파일을 직접 임베드하고 재생할 수 있는 강력한 기능인 HTML5 오디오 태그의 기본 사항을 배우게 됩니다.

HTML5 <audio> 태그는 웹 개발자가 오디오 콘텐츠를 원활하게 포함할 수 있도록 하는 간단하면서도 다재다능한 요소입니다. 기본 구조와 기본 사용법을 살펴보겠습니다.

먼저, 오디오 태그를 시연하기 위해 ~/project 디렉토리에 새 HTML 파일을 생성합니다.

cd ~/project
touch audio-basics.html

WebIDE 에서 audio-basics.html 파일을 열고 다음 기본 HTML 구조를 추가합니다.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>HTML5 Audio Tag Basics</title>
  </head>
  <body>
    <h1>HTML5 Audio Tag Example</h1>

    <audio src="sample-audio.mp3"></audio>
  </body>
</html>

기본 <audio> 태그는 간단한 구문을 갖습니다.

  • src 속성은 오디오 파일의 경로를 지정합니다.
  • 기본적으로 오디오는 사용자에게 표시되는 컨트롤이 없습니다.

기본 오디오 태그의 예시 출력:

  • 오디오 파일이 페이지에 임베드됩니다.
  • 재생/일시 중지 컨트롤이 표시되지 않습니다.
  • 기본적으로 오디오는 자동 재생되지 않습니다.

HTML5 오디오 태그에 대한 주요 사항:

  1. 여러 오디오 형식 (MP3, WAV, OGG) 을 지원합니다.
  2. 최신 웹 브라우저에서 작동합니다.
  3. 플러그인 없이 오디오를 임베드하는 네이티브 방식을 제공합니다.

WebIDE 에서 audio-basics.html 파일을 미리 보면 오디오 플레이어 컨트롤이 표시되지 않으므로 빈 페이지가 표시됩니다.

참고: WebIDE 에서 HTML 파일을 미리 보는 방법에 대해 자세히 알아보세요.

컨트롤 및 소스로 오디오 태그 구성

이 단계에서는 HTML5 오디오 태그를 향상시키기 위해 컨트롤을 추가하고 오디오 소스를 구성하여 더 나은 사용자 경험을 제공하는 방법을 배우게 됩니다.

WebIDE 에서 audio-basics.html 파일을 열고 오디오 태그를 수정하여 컨트롤을 포함합니다.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>HTML5 Audio Tag with Controls</title>
  </head>
  <body>
    <h1>Audio Player with Controls</h1>

    <audio src="sample-audio.mp3" controls>
      Your browser does not support the audio element.
    </audio>
  </body>
</html>

이 예제의 주요 수정 사항:

  1. 재생 컨트롤을 표시하기 위해 controls 속성을 추가했습니다.
  2. HTML5 오디오를 지원하지 않는 브라우저를 위한 대체 텍스트를 포함했습니다.

controls 속성은 다음과 같은 기본 오디오 플레이어 인터페이스를 제공합니다.

  • 재생/일시 중지 버튼
  • 볼륨 슬라이더
  • 진행률 표시줄
  • 현재 시간 및 재생 시간 표시

추가 소스 구성 옵션을 살펴보겠습니다.

<audio controls>
  <source src="sample-audio.mp3" type="audio/mpeg" />
  <source src="sample-audio.ogg" type="audio/ogg" />
  Your browser does not support the audio element.
</audio>

다양한 오디오 소스 구성의 예:

  • 여러 <source> 태그를 사용하면 브라우저 호환 형식 선택이 가능합니다.
  • type 속성은 오디오 파일 MIME 유형을 지정합니다.
  • 브라우저는 지원되는 첫 번째 형식을 사용합니다.

오디오 플레이어의 예시 출력:

HTML5 audio player with controls

재생 버튼을 클릭하여 오디오 재생을 시작하고, 브라우저 탭의 음소거가 해제되었는지 확인하십시오.

여러 오디오 소스 형식 추가

이 단계에서는 브라우저 간 호환성을 보장하고 오디오 재생 안정성을 향상시키기 위해 여러 오디오 파일 형식을 제공하는 방법을 배우게 됩니다.

먼저, sample-audio.mp3~/project 디렉토리의 다른 형식 (music.ogg, music.wav) 으로 복사해 보겠습니다.

cd ~/project
cp sample-audio.mp3 music.mp3
ffmpeg -i sample-audio.mp3 music.ogg
ffmpeg -i sample-audio.mp3 music.wav

진행하기 전에 변환 프로세스가 완료될 때까지 기다리십시오.

이제 audio-basics.html 파일을 업데이트하여 여러 오디오 소스를 포함합니다.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Multiple Audio Source Formats</title>
  </head>
  <body>
    <h1>Cross-Browser Audio Playback</h1>

    <audio controls>
      <source src="music.mp3" type="audio/mpeg" />
      <source src="music.ogg" type="audio/ogg" />
      <source src="music.wav" type="audio/wav" />
      Your browser does not support the audio element.
    </audio>
  </body>
</html>

여러 오디오 소스에 대한 주요 사항:

  1. 브라우저는 첫 번째 호환 형식을 사용합니다.
  2. 일반적인 오디오 형식은 다음과 같습니다.
    • MP3 (audio/mpeg)
    • OGG (audio/ogg)
    • WAV (audio/wav)
  3. 순서가 중요합니다: 선호하는 형식을 먼저 나열하십시오.

브라우저 호환성 예시:

  • Chrome: MP3 선호
  • Firefox: OGG 선호
  • Safari: MP3 선호
  • 브라우저는 자동으로 지원되는 첫 번째 형식을 선택합니다.

오디오 태그 고급 속성 탐색

이 단계에서는 오디오 재생 및 사용자 경험을 더 잘 제어할 수 있는 HTML5 오디오 태그의 고급 속성을 알아보겠습니다.

audio-basics.html 파일을 업데이트하여 고급 속성을 시연합니다.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Advanced Audio Tag Attributes</title>
  </head>
  <body>
    <h1>Advanced Audio Playback Options</h1>

    <audio src="music.mp3" controls autoplay loop preload="metadata" muted>
      Your browser does not support the audio element.
    </audio>
  </body>
</html>

설명된 주요 고급 속성:

  1. autoplay: 페이지가 로드될 때 오디오를 자동으로 재생을 시작합니다.

    • 배경 음악 또는 음향 효과에 유용합니다.
    • 참고: 많은 브라우저에서 기본적으로 자동 재생을 차단합니다.
  2. loop: 오디오 트랙을 계속 반복합니다.

    • 배경 음악 또는 사운드 루프에 적합합니다.
  3. preload: 브라우저가 오디오를 로드하는 방식을 지정합니다.

    • none: 사전 로드 없음
    • metadata: 메타데이터만 로드 (재생 시간 등)
    • auto: 전체 오디오 파일 사전 로드
  4. muted: 음소거된 상태로 오디오를 시작합니다.

    • 초기 사용자 제어에 유용합니다.

고급 오디오 컨트롤의 예시 출력:

HTML5 audio controls example

간단한 오디오 플레이어 웹페이지 만들기

이 단계에서는 HTML5 오디오 태그에 대해 배운 모든 내용을 시연하는 완전한 오디오 플레이어 웹페이지를 만들 것입니다.

먼저, ~/project 디렉토리에 music-player.html이라는 새 파일을 만듭니다.

cd ~/project
touch music-player.html

이제 WebIDE 에서 music-player.html을 열고 다음 코드를 추가합니다.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Simple Music Player</title>
    <style>
      body {
        font-family: Arial, sans-serif;
        text-align: center;
        background-color: #f4f4f4;
      }
      .player-container {
        max-width: 400px;
        margin: 50px auto;
        padding: 20px;
        background-color: white;
        border-radius: 10px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      }
    </style>
  </head>
  <body>
    <div class="player-container">
      <h1>My Music Player</h1>

      <audio id="musicPlayer" controls>
        <source src="music.mp3" type="audio/mpeg" />
        <source src="music.ogg" type="audio/ogg" />
        Your browser does not support the audio element.
      </audio>

      <div>
        <button onclick="document.getElementById('musicPlayer').play()">
          Play
        </button>
        <button onclick="document.getElementById('musicPlayer').pause()">
          Pause
        </button>
        <button onclick="document.getElementById('musicPlayer').volume += 0.1">
          Volume Up
        </button>
        <button onclick="document.getElementById('musicPlayer').volume -= 0.1">
          Volume Down
        </button>
      </div>
    </div>

    <script>
      const player = document.getElementById("musicPlayer");
      player.addEventListener("ended", () => {
        console.log("Song finished playing");
      });
    </script>
  </body>
</html>

CSS 와 JavaScript 를 처음 접하더라도 걱정하지 마세요. 위의 코드는 간단하고 이해하기 쉽습니다. 플레이어 컨테이너 및 반응형 디자인을 위한 기본적인 CSS 스타일링이 포함되어 있습니다. JavaScript 코드는 노래가 끝나면 메시지를 기록하기 위해 오디오 플레이어에 이벤트 리스너를 추가합니다.

음악 플레이어의 주요 기능:

  1. 기본적인 CSS 스타일링을 사용한 반응형 디자인
  2. 여러 오디오 소스 형식
  3. 표준 오디오 컨트롤
  4. 사용자 정의 재생/일시 중지 버튼
  5. 볼륨 조절 버튼
  6. 노래 완료에 대한 이벤트 리스너

브라우저의 예시 출력:

Simple music player webpage example

요약

이 랩에서는 참가자들이 HTML5 오디오 태그를 사용하여 웹 페이지에서 오디오 파일을 직접 임베딩하고 재생하는 기본 사항을 배웠습니다. 이 랩은 학습자들이 <audio> 태그의 기본 구조를 이해하고, 오디오 컨트롤을 구성하며, 오디오 재생 기능을 향상시키는 다양한 속성을 탐색하도록 안내했습니다.

주요 학습 결과에는 오디오 소스 속성 사용, 재생 컨트롤 추가, 여러 오디오 형식 지원, 간단한 오디오 플레이어 웹페이지 만들기가 포함되었습니다. 참가자들은 외부 플러그인에 의존하지 않고 네이티브 오디오 임베딩 기술을 구현하는 실질적인 경험을 얻었으며, 최신 웹 브라우저에서 HTML5 의 오디오 기능의 다재다능함과 사용 편의성을 입증했습니다.

OSZAR »