2012-12-21 80 views
0

我有下面的代碼打印到控制檯,當視頻播放5秒。但是,如果用戶暫停視頻並再次按下播放,則會將其打印到控制檯。如何收聽YouTube視頻從未播放到播放5秒的時間?

當狀態從未啓動狀態變爲播放狀態5秒時,如何才能打印到控制檯?

function onYouTubePlayerReady(playerId) { 
    ytplayer = document.getElementById("myytplayer"); 
    ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); 
} 

function onytplayerStateChange(newState) { 
    if (newState == 1) { 
     setTimeout(function(){ 
      current = ytplayer.getCurrentTime(); 
      console.log(current); 
     }, 5000); 

    } 
} 

回答

0

onStateChange處理程序被觸發的各種播放器的狀態變化,而不僅僅是「打」事件:https://developers.google.com/youtube/js_api_reference#onStateChange

你會需要修改onytplayerStateChange()功能監聽「暫停」 /「緩衝」事件並在這些事件被解除時暫停倒計時,並且只有在下一個「正在播放」事件被觸發時才重新啓動它。