말그대로 유튜브 재생시간 뽑는 법입니다.
재생 아디랑 url등은 뽑히는데
재생시간 뽑는 방법을 몰르겠네여
아무리 찾아바도 방법이 없네여
아시는분 있나여?
답변 2개 / 댓글 3개
채택된 답변
+20 포인트
2014-11-24 (월) 17:33:18
님이 주신 소스를 가지고 테스트 하였습니다.
저는 현재시간과 전체시간을 얻는데 성공했는데요 해보고 안되시면 문의 주세요
감사합니다.
Copy
<div id='player' ></div><script src = 'https://www.youtube.com/iframe_api'></script><script> function onYouTubeIframeAPIReady() { player = new YT.Player('player', { width: '640', height: '360', videoId: 'QJvhAIJvSNE', playerVars: {'autoplay': 1, 'showinfo': 0, 'rel':0, 'modestbranding':1, 'wmode':'transparent', 'autohide':1 }, events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); // 추가한소스 window.tmp_obj = player; } function onPlayerReady(event) { event.target.setPlaybackQuality("hd720"); // 추가한 소스.. console.log(tmp_obj.getCurrentTime()); console.log(tmp_obj.getDuration()); } function onPlayerStateChange(event) { if (event.data == YT.PlayerState.PLAYING) { event.target.setPlaybackQuality('hd720'); } </script>
답변에 대한 댓글 2개
2014-11-24 (월) 16:42:21
http://stackoverflow.com/questions/6970013/getting-current-youtube-video-time
스택오버플로우에 비슷한 답변이 있는거 같은데요
// 유투브 객체를 가져오고
ytplayer = document.getElementById("movie_player");
// 현재의 시간을 가져오는 함수
ytplayer.getCurrentTime();
// 플레이 타임을 가져오는 함수
ytplayer.getDuration();
제가 사용해보진 않아서 맞는 답변이 되는주는 잘 모르겠네요 죄송합니다. ㅎㅎ
답변에 대한 댓글 1개
2014-11-24 (월) 17:09:07
<script>
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
//document.write(t1);
//document.write(t2);
width: '640',
height: '360',
videoId: '<?=$video?>',
playerVars: {'autoplay': 1, 'showinfo': 0, 'rel':0, 'modestbranding':1,
'wmode':'transparent', 'autohide':1
},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// 유투브 객체를 가져오고
ytplayer = document.getElementById("player");
// 현재의 시간을 가져오는 함수
ytplayer.getCurrentTime();
// 플레이 타임을 가져오는 함수
ytplayer.getDuration();
function onPlayerReady(event) {
event.target.setPlaybackQuality("hd720");
}
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING) {
event.target.setPlaybackQuality('hd720');
}
}
</script>
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
//document.write(t1);
//document.write(t2);
width: '640',
height: '360',
videoId: '<?=$video?>',
playerVars: {'autoplay': 1, 'showinfo': 0, 'rel':0, 'modestbranding':1,
'wmode':'transparent', 'autohide':1
},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// 유투브 객체를 가져오고
ytplayer = document.getElementById("player");
// 현재의 시간을 가져오는 함수
ytplayer.getCurrentTime();
// 플레이 타임을 가져오는 함수
ytplayer.getDuration();
function onPlayerReady(event) {
event.target.setPlaybackQuality("hd720");
}
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING) {
event.target.setPlaybackQuality('hd720');
}
}
</script>
답변을 작성하려면 로그인이 필요합니다.