• 회원가입
  • 로그인
  • 구글아이디로 로그인

[HTML_Objects] JS - <audio> 객체 ★ - 음성파일재생 (=오디오태그 = audio태그) ※ 음성파일형식별로 브라우저지원 상이 ※ 클릭 오디오파일 재생/멈춤 (Click Audio Play/Stop)

목차

  1. <audio> 객체 정의 - 음성파일 재생
  2. <audio> 객체 구문
  3. <audio> 객체 예제 - 접근
  4. <audio> 객체 예제 - 생성
  5. <audio> 객체 속성
  6. <audio> 객체 메서드
  7. <audio> 객쳬 예제 - (재생/멈춤)을 1개의 토글 버튼으로 제어
  8. <audio> 객쳬 예제 - (재생/멈춤)을 2개의 각각 버튼으로 제어
  9. <audio> 객체 예제 - 2개 오디오를 1개의 토글 버튼으로 제어

 

<audio> 객체 정의 - 음성파일 재생

 

HTML <audio> 태그(요소) 의미. (IE9 이상 지원)

 

 

<audio> 객체 구문

 

[접근]

var x = document.getElementById("요소ID");

 

[생성]

var x = document.createElement("AUDIO");

 

 

<audio> 객체 예제 - 접근

 

<audio id="hz" controls>

  <source src="hz.ogg" type="audio/ogg">

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

  사용중인 브라우저가 audio 태그 지원 X.

</audio>


<button onclick="homzzang()">클릭</button>


<p id="demo"></p>


<script>

function homzzang() {

  var x = document.getElementById("hz").duration;

  document.getElementById("demo").innerHTML = x;

}

</script> 

 

※ src 속성 부분에 음성파일 주소 입력.

 

<audio> 객체 예제 - 생성

 

<button onclick="homzzang()">클릭</button>


<script>

function homzzang() {

  var x = document.createElement("AUDIO");


  if (x.canPlayType("audio/mpeg")) {

    x.setAttribute("src","hz.mp3");

  } else {

    x.setAttribute("src","hz.ogg");

  }


  x.setAttribute("controls", "controls");

  document.body.appendChild(x);

}

</script> 

 

※ src 속성 부분에 음성파일 주소 입력.

 

<audio> 객체 속성

 

audioTracks

사용 가능한 오디오 트랙을 나타내는 AudioTrackList 객체 반환.

 

autoplay

오디오가 준비 되자마자 재생 시작할지 여부 설정/반환.

 

buffered

오디오의 버퍼 된 부분 나타내는 TimeRanges 객체 반환.

 

controller

오디오의 현재 미디어 컨트롤러를 나타내는 MediaController 객체 반환.

 

controls

오디오에 컨트롤 표시 여부 설정/반환. (재생 / 일시정지 등).

 

crossOrigin

오디오의 CORS 설정을 설정/반환

 

currentSrc

현재 오디오의 URL 반환

 

currentTime

오디오의 현재 재생 위치를 설정/반환. (초).

 

defaultMuted

오디오 기본적으로 음소거해야하는지 여부 설정/반환.

 

defaultPlaybackRate

오디오의 기본 재생속도 설정/반환.

 

duration

오디오 길이를 초 단위로 반환.

 

ended

오디오 재생 종료 여부 반환

 

error

오디오의 오류 상태를 나타내는 MediaError 객체 반환.

 

loop

오디오가 끝날 때마다 다시 재생을 시작할지 여부를 설정/반환.

 

mediaGroup

오디오가 속한 미디어 그룹의 이름 설정/반환.


muted

사운드를 끌지 여부를 설정/반환.

 

networkState

오디오의 현재 네트워크 상태 반환.

 

paused

오디오 일시 중지 여부 설정/반환.

 

playbackRate

오디오 재생속도 설정/반환.

 

played

오디오의 재생된 부분을 나타내는 TimeRanges 객체 반환.

 

preload

오디오의 preload 속성값 설정/반환.

 

readyState

오디오의 현재 준비상태 반환.

 

seekable

오디오의 탐색 가능한 부분을 나타내는 TimeRanges 객체 반환.

 

seeking

사용자가 현재 오디오를 찾고 있는지 여부를 반환.

 

src
오디오의 src 속성값 설정/반환.


textTracks

사용 가능한 텍스트트랙 나타내는 TextTrackList 객체 반환.

 

volume

오디오의 오디오 볼륨 설정/반환.

 

 

<audio> 객체 메서드

 

addTextTrack()

오디오에 새 텍스트 트랙 추가.

 

canPlayType()

브라우저가 지정된 오디오 유형을 재생할 수 있는지 확인.

 

fastSeek()

오디오 플레이어에서 지정된 시간 찾기.

 

getStartDate()

현재의 타임 라인 오프셋을 나타내는 새로운 Date 객체 반환.

 

load()

오디오 요소를 다시 로드.

 

play()

오디오 재생 시작.

 

pause()

현재 재생중인 오디오를 일시 중지.

 

※ <audio> 객체는 표준 속성/메서드/이벤트 지원.

 

<audio> 객쳬 예제 - (재생/멈춤)을 1개의 토글 버튼으로 제어

 

<audio id="hz">

  <source src="https://ccrma.stanford.edu/~jos/mp3/harpsi-cs.mp3" type="audio/mpeg">

  당신 브라우저는 AUDIO 태그 지원 X

</audio>


<button type="button" onclick="togglePlayPause()">재생/정지</button> 


<script>

var hz = document.getElementById("hz"); 

function togglePlayPause() {

  if (hz.paused) {

    hz.play();

  } else {

    hz.pause();

  }

</script>

 

결과보기

 

<audio> 객쳬 예제 - (재생/멈춤)을 2개의 각각 버튼으로 제어

 

<audio id="hz">

  <source src="https://ccrma.stanford.edu/~jos/mp3/harpsi-cs.mp3" type="audio/mpeg">

  당신 브라우저는 AUDIO 태그 지원 X

</audio>


<button type="button" onclick="play()">재생</button>

<button type="button" onclick="pause()">정지</button> 


<script>

var hz = document.getElementById("hz"); 

function play() { 

  hz.play(); 

function pause() { 

  hz.pause(); 

</script>

 

결과보기

 

<audio> 객체 예제 - 2개 오디오를 1개의 토글 버튼으로 제어

 

<audio src="https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3" controls id="hz1"></audio>

<audio src="https://ccrma.stanford.edu/~jos/mp3/harpsi-cs.mp3" controls id="hz2"></audio>

<button type="button" id="btn">재생 토글</button>


<script>

function toggle_play() {

    var hz1 = document.getElementById('hz1');

    var hz2 = document.getElementById('hz2');

    

    if (hz1.paused == true) {

        hz2.pause();

        hz2.currentTime = 0;

        hz1.play();

    } else {

        hz1.pause();

        hz1.currentTime = 0;

        hz2.play();

    }

}


document.addEventListener("DOMContentLoaded", function() {

    var btn = document.getElementById("btn");

    btn.addEventListener("click", function() {

        toggle_play();

    });

});

</script>


결과보기

PS. jQuery 이용 방식 보기


분류 제목
Window_Object JS - prompt() 메서드 ★ - 입력유도창 (= 입력요구창 = 입력창 = prompt메서드 = 프롬…
Window_Object JS - requestAnimationFrame() 메서드 - 다음 repaint 전에, 애니메이션을 업데이…
Window_Object JS - resizeBy() 메서드 - 윈도우창크기변경 (※ 현재크기 기준)
Window_Object JS - resizeTo() 메서드 - 윈도우창크기변경 (※ 지정크기로 변경)
Window_Object JS - scroll() 메서드 - 폐기예고. scrollTo() 메서드로 대체.
Window_Object JS - scrollBy() 메서드 ★ - 스크롤 이동 (※ 지정 픽셀 길이 만큼 이동 = scrollBy메…
Window_Object JS - scrollTo() 메서드 ★ - 스크롤이동 (※ 지정좌표로 이동 = scrollTo메서드 = 스크…
Window_Object JS - setInterval() 메서드 ★★★ - 일정 시간 후 자동 반복 실행. (= setInterva…
Window_Object JS - setTimeout() 메서드 ★★★ - 일정시간 후 1회 할일 지정. (= 촉발시간설정 = set…
Window_Object JS - stop() 메서드 - 창로드차단 (= 문서로드차단 = 창로드중단)
API_Storage JS - key(n) 메서드 - Storage 객체의 n번째 키 이름 반환. (= key메서드 = 키메서드)
API_Storage JS - length 속성 - Storage 객체에 저장된 아이템 항목 개수 (= length속성 = 렝스속…
API_Storage JS - getItem() 메서드 ★ - Storage 객체에 저장된 값 반환. (= getItem메서드 =…
API_Storage JS - setItem(keyname, value) -
API_Storage JS - removeItem(keyname) -
API_Storage JS - clear() 메서드 -
Window_Object JS - localStorage 속성 - 웹브라우저에 키/값 쌍을 데이터 영구저장 (IE8 이상) ※ 쿠키…
API_Storage JS - window.sessionStorage -
HTML_Objects JS - <a> 객체 ★ - 주소이동 (= a태그 = a요소 = 에이태그 = 앵커태그 = 하이퍼링크태그)
HTML_Objects JS - <abbr> 객체 - 축약어 (= abbr태그 = abbr요소 = 어브르태그 = 어브리비에이션태그)…
54/67
목록
찾아주셔서 감사합니다. Since 2012