2016-07-28 6 views
4

Я пытаюсь сделать видео-цикл youtube в определенном разделе видео.Как воспроизвести раздел видео на YouTube?

https://www.youtube.com/v/zeI-JD6RO0k?autoplay=1&loop=1&start=30&end=33&playlist=%20zeI-JD6RO0k

Из того, что я знаю:

Для начала и конца:

start=30&end=33 

Чтобы сделать цикл:

autoplay=1&loop=1&playlist=%20zeI-JD6RO0 

Проблема заключается в том, что она не запустите следующий цикл в момент, когда укажу

ответ

5

Вы можете использовать Youtube Iframe-API для контура раздела видео.

Поместите этот тег в HTML-страницы:

<!-- 1. The <iframe> (and video player) will replace this <div> tag. --> 
<div id="player"></div> 

Load Youtube Iframe-API

// 2. This code loads the IFrame Player API code asynchronously. 
var tag = document.createElement('script'); 

tag.src = "https://www.youtube.com/iframe_api"; 
var firstScriptTag = document.getElementsByTagName('script')[0]; 
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

Создать плеер и видео цикла:

var section = { 
    start: 30, 
    end: 33 
}; 

// 3. This function creates an <iframe> (and YouTube player) 
// after the API code downloads. 
var player; 
function onYouTubeIframeAPIReady() { 
    player = new YT.Player(
    'player', 
    { 
     height: '360', 
     width: '640', 
     videoId: 'zeI-JD6RO0k', 
     events: { 
     'onReady': onPlayerReady, 
     'onStateChange': onPlayerStateChange 
     } 
    } 
); 
} 

function onPlayerReady(event) { 
    player.seekTo(section.start); 
    player.playVideo(); 
} 

function onPlayerStateChange(event) { 
    if (event.data == YT.PlayerState.PLAYING) { 
    var duration = section.end - section.start; 
    setTimeout(restartVideoSection, duration * 1000); 
    } 
} 

function restartVideoSection() { 
    player.seekTo(section.start); 
} 

See this example in action

Смежные вопросы