Web/WEB기본

[HTML5] video / audio onloadeddata 로딩완료 이벤트 - 비디오 자동 재생하기

saltdoll 2022. 1. 7. 09:09
반응형

<video>태그가 완전히 로드될때,  javascript 실행하기 하는 이벤트 요소(Attribute)입니다.

 

HTML  Audio/Video DOM loadeddata Event

 

해당 프레임에서 비디오/오디오가 로딩이 완료되면 실행되 었는지 확인 해주는 이벤트입니다.

 

onloadedata 이벤트

 

onloadeddata 이벤트를 이용해서, 자동 플레이도 만들 수 있습니다.

(하단 '자동 플레이 예제'를 참조하세요)

 

Syntax

In HTML:

<audio|video onloadeddata="Some JavaScript Code">

 

In JavaScript:

<script>
audio|video.onloadeddata='Some JavaScript Code';
</script>

 

Using addEventListener():

<script>
audio|video.addEventListener("loadeddata", function() {
  //SomeJavaScriptCode
  }
);
</script>

 

 

 

예제

<video id="videoObj" controls="true" onloadeddata="playJump('videoObj',5)">
    <source src="http://html5.edit.kr/video/mov_bbb.mp4" type="video/mp4" />
</video>

 

<script>

function playJump(obj,time) {

var videoObj = document.getElementById(obj);

videoObj.currentTime = time;

}

</script>

 

 

자동 플레이 예제

<video id="myVideo" width="320" height="176" controls muted="muted">
  <source src="https://www.w3schools.com/tags/mov_bbb.mp4" type="video/mp4">
  <source src="mov_bbb.ogg" type="video/ogg">
  Your browser does not support HTML5 video.
</video>

<script>
var vid = document.getElementById("myVideo");
vid.onloadeddata = function() {
  alert("Browser has loaded the current frame");
  myVideo.play();
};
</script>

자동 플레이 경우, muted="muted" 속성이 있어야 자동 재생이 됩니다.

음소거(muted)로 되어 있지 않은 비디오는 자동 재생이 안됩니다.

그 이유는, 음소거(mute)가 안된 비디오는 브라우저(크롬, 사파리, Edge등)에서 자동 재생을 차단합니다.

 

2019.04.12 - [분류 전체보기] - video 태그 autoplay 재생이 안될때 (Chrome / Safari)

 

video 태그 autoplay 재생이 안될때 (Chrome / Safari)

Safari, Chrome 브라우저에서 태그를 이용해서 비디오를 자동 재생 (autoplay="autoplay")을 지정해도 안될 때 해결방법: Javascript을 이용해서 자동 재생을 실행해주면 됩니다. (주의: 태그 이후에 script를

blog.edit.kr

 

 

참고: http://www.w3schools.com/tags/av_event_loadeddata.asp

반응형