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

[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 이용 방식 보기


분류 제목
HTML_Objects JS - <iframe> 객체 ★ - 타웹페이지삽입 (= iframe태그 = 아이프레임태그)
HTML_Objects JS - <img> 객체 ★ - 사진/그림/이미지 (= img태그 = 이미지태그)
HTML_Objects JS - <ins> 객체 - 텍스트삽입표시 (= ins태그 = 인스태그 = 인서트태그)
HTML_Objects JS - <input type="button"> 객체 - button타입 input태그 (= 인풋버튼태그)
HTML_Objects JS - <input type="checkbox"> 객체 ★ - checkbox타입 input태그 (= 인풋…
HTML_Objects JS - <input type="color"> 객체 - color타입 input태그 (= 인풋컬러태그) ※ …
HTML_Objects JS - <input type="date"> 객체 - date타입 input태그 (= 인풋데이트태그) ※ 날…
HTML_Objects JS - <input type="datetime"> 객체 - datetime타입 input태그 (= 인풋데이…
HTML_Objects JS - <input type="datetime-local"> 객체 - datetime-local타입 inp…
HTML_Objects JS - <input type="email"> 객체 - email타입 input태그 (= 인풋이메일태그)
HTML_Objects JS - <input type="file"> 객체 ★ - file타입 input태그 (= 인풋파일태그) ※ …
HTML_Objects JS - <input type="hidden"> 객체 ★ - hidden타입 input태그 (= 인풋히든태그…
HTML_Objects JS - <input type="image"> 객체 ★ - image타입 input태그 (= 인풋이미지태그)…
HTML_Objects JS - <input type="month"> 객체 - month타입 input태그 (= 인풋먼스태그) ※ …
HTML_Objects JS - <input type="number"> 객체 - number타입 input태그 (= 인풋넘버태그) …
HTML_Objects JS - <input type="password"> 객체 - password타입 input태그 (= 인풋패스…
HTML_Objects JS - <input type="radio"> 객체 ★ - radio타입 input태그 (= 인풋라디오태그 …
HTML_Objects JS - <input type="range"> 객체 - range타입 input태그 (= 인풋레인지태그) ※…
HTML_Objects JS - <input type="reset"> 객체 - reset타입 input태그 (= 인풋리셋태그) ※ …
HTML_Objects JS - <input type="search"> 객체 - search타입 input태그 (= 인풋서치태그) …
57/67
목록
찾아주셔서 감사합니다. Since 2012