Я борюсь с настройкой цикла для API YouTube, используя мой код каждый раз, когда загружается видео цикла. Я поместил только одно видео в цикл
Вот мое видео http://dynamitechefs.ch/
Я поместил одно видео в цикл. Видео загружается каждый раз. Как я могу удалить загрузку видео?
Вот мой код
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: mediaParams['height'],
width: mediaParams['width'],
videoId: mediaParams['v'],
playerVars: {
controls: 1,
showinfo: 0 ,
startAt:1,
rel:0,
loop:1,
playlist : 'BmAL33M0jcI'
},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
Заранее спасибо.
2 ответа
Исходя из документации параметров проигрывателя IFrame API, при воспроизведении одного видеопроигрывателя настройка 1 заставляет проигрыватель воспроизводить исходное видео снова и снова. В случае проигрывателя списка воспроизведения (или пользовательского проигрывателя) проигрыватель воспроизводит весь список воспроизведения, а затем снова запускается с первого видео.
Просто учтите, что в настоящее время параметр loop работает только на проигрывателе AS3, если используется вместе с параметром playlist. Чтобы зациклить одно видео, установите значение параметра цикла равным 1 и установите для параметра параметра списка воспроизведения тот же идентификатор видео, который уже указан в URL-адресе API проигрывателя:
https://www.youtube.com/v/VIDEO_ID? > version=3
&loop=1
&playlist=VIDEO_ID
Для получения дополнительной информации используйте эту демонстрацию, чтобы узнать, как работают различные параметры API IFrame.
Вы можете использовать функцию player.seekTo для поиска начала видео, когда видео близко к концу (т.е. завершено на 99%), чтобы сохранить буфер плеера в памяти и предотвратить перезагрузку. Вы можете увидеть этот пример в коде ниже:
var player;
// Callback for when the YouTube iFrame player is ready
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
// Set Player height and width
height: '390',
width: '640',
// Set the id of the video to be played
videoId: 'Rykmwn0SMWU',
// Setup event handelers
events: {
'onReady': onPlayerReady,
}
});
};
function onPlayerReady() {
var interval = setInterval(function(){
console.log(player.getCurrentTime() / player.getDuration())
if (player.getCurrentTime() / player.getDuration() > .99) {
player.seekTo(0)
}
},500);
}