2016-07-28 53 views
2

我正在使用Youtube Javascript API(iframe版本),我使用startend參數來播放僅部分視頻。雖然一切正常,一旦達到end,玩家停止(正常行爲)。但是,當再次點擊時,玩家似乎沒有考慮start選項。它總是從視頻的開頭重新開始播放。然而它總是在定義的end值處結束。Youtube Javascript API:啓動參數不適用於重播

<iframe frameborder="0" src="https://www.youtube.com/embed/5lGoQhFb4NM?autoplay=1&autohide=1&modestbranding=1&showinfo=0&controls=0&vq=hd720&rel=0&start=60&end=100" style="width: 100%; height: 400px;"></iframe> 

你們有什麼想法,爲什麼它發生?

+0

你是怎麼結束幹嘛? – httpete

+0

@httpete嗯,因爲我最初使用Angular,所以我最終使用了https://github.com/brandly/angular-youtube-embed,這使我可以使用事件'youtube.player.ended'重新加載iframe。如果你有興趣,我會在這裏發佈我的解決方案作爲答案,只是讓我知道:) – lkartono

回答

0

這裏是我是如何能夠有重播按鈕原start時間重新開始,以及防止用戶從playerVars的開始/結束範圍以外滾動:

function onPlayerStateChange(event) { 

    var isClip = playerOptions.playerVars.start && playerOptions.playerVars.end; 
    var start = isClip ? playerOptions.playerVars.start : null; 
    var end = isClip ? playerOptions.playerVars.end : null; 

    if (event.data == YT.PlayerState.PLAYING) { 
    if (isClip) { 
     var currentTime = event.target.getCurrentTime(); 
     if (currentTime < start || currentTime > end) { 
     event.target.seekTo(playerOptions.playerVars.start); 
     } 
    } 

    } 

}