| 명령어 | 기능 |
|---|---|
| getAutopause() | 자동 일시 정지 상태 가져오기 |
| getCurrentTime() | 비디오 현재 재생 위치 가져오기(초) |
| getDuration() | 비디오 길이 |
| getEnded() | 비디오 종료 상태(true : 종료됨, 비디오 재생 위치 = 길이) |
| getLoop() | 플레이어 루프 상태(true : 재생 종료 시 다시 시작됨) |
| getPaused() | 플레이어 일시 정지 상태 가져오기 |
| getPlaybackRate() | 플레이어 재생 속도 얻기 |
| getVolume() | 플레이어 볼륨 레벨 얻기 |
| pause() | 비디오 일시정지 |
| play() | 비디오 재생 |
| setAutopause() | 자동 일시 정지 상태 설정 |
| setCurrentTime(seconds) | 비디오 재생 위치 설정 |
| setLoop(t/f) | 비디오 끝난 직후 시작 부분에서 재생 재개 |
| setPlaybackRate(playbackRate) | 플레이어 재생 속도 설정 |
| setValume(volume) | 플레이어 볼륨 레벨 설정 |
| 종류 | 설명 |
|---|---|
| bufferend | 버퍼링 종료, pre 로드(처음 로드될 때 미리 데이터 다운), 시킹 종료(비디오 특정 위치 이동 → 로딩 과정) |
| bufferstart | 버퍼링 시작, pre로드, 시킹 |
| ended | video 종료될 때 발생하는 이벤트 |
| error | 메서드 호출이 오류를 생성한 경우 발생(오류 이벤트 전역적 수신하는 대신 각 메서드 호출에서 .catch 권장) |
| loaded | 새로운 비디오가 플레이어에 로드될 때 |
| pause | 비디오가 일시정지 될때 발생 |
| play | 비디오가 재생될때 발생 |
| playbackratechange | 재생속도 변경될 때 발생 |
| progress | 비디오 로딩하는 동안 발생 |
| seeked | 특정 위치로 비디오플레이어를 이동했을때 발생 동시에 timeupdate 이벤트도 발생 |
| timeupdate | 비디오 재생 위치 변경될 때 발생 - 일반적으로 250ms마다 발생 |
| volume | 플레이어의 볼륨이 변경될 때 발생 |
iframe 태그로 Vimeo Player 노출paused or playbackratechange 이벤트 발생시 API 호출 13:10 에 정지pause 이벤트 발생 -> 시청 기록 저장 API 호출하여 저장pause 이벤트 반환값seconds 추출해서 백엔드 서버에 API 호출해서 특정 시간대 저장{
"duration": 61.857, // 영상 총 길이
"percent": 0, // 총길이 대비 몇퍼센트 현재 봤는지
"seconds": 0 // 본 시간 -> 3초대를 봤을때 일시정지 -> 3반환
}ended 이벤트 발생 시 Server에 저장하는 API 호출<html>
<head>
<title>{page_title}</title>
</head>
<body>
<iframe src="https://player.vimeo.com/video/{video_id}?h={hash_parameter}" width="{video_width}" height="{video_height}" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
<script src="https://player.vimeo.com/api/player.js"></script>
<script>
<!- Your Vimeo SDK player script goes here ->
</script>
</body>
</html>
#t=1m2s 형태 이용about:blank 접속


<html>
<head></head>
<body>
<div style="padding:52.73% 0 0 0;position:relative;">
<iframe src="https://player.vimeo.com/video/1027182136?badge=0&autopause=0&player_id=0&app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="6583403-uhd_4096_2160_25fps">
</iframe>
</div>
<script src="https://player.vimeo.com/api/player.js"></script>
<script>
let iframe = document.querySelector('iframe');
let player = new Vimeo.Player(iframe);
player.on('pause', function() {
console.log('pause 이벤트 발생');
});
player.on('ended', function() {
console.log('ended 이벤트 발생');
});
</script>
</body>
</html>
pause 이벤트 확인
Vimeo의 API를 활용하여 인터넷 강의를 구매하여 수강할 수 있는 사이트를 제작할 수 있다.
pause 이벤트 반환값 중 seconds 키값 API 호출1h10m10s 와 같이 이어보기 가능한 시점으로 DB 저장ended 이벤트 발생Java의 Object란? 13:1013:10 와 같이 영상의 총 길이도 구해서 DB에 영상 정보를 저장한다.2탄은 Java의 API로 영상의 길이 추출, 파일명 추출 등을 하여 사용자에게 보여줄 때의 데이터를 추출해 보겠슴돠~!
보안 관련 설정들은 Vimeo측에 문의남기면 자주 답변 남겨주니 남겨보는 것이 좋을 것 같습니다~~ 영어로 물어봐야해서 초안 작성하고 파파고 번역해서 올리면 되요!
상세 구현 정보는 공개하지 않겠습니다.