/ / Максимальний час відтворення для списку відтворення відеоплеєра YouTube - youtube, timeout, youtube-api, youtube-javascript-api

Максимальний час відтворення для YouTube Playlist - YouTube, timeout, youtube-api, youtube-javascript-api

Я не зміг знайти жодної документації, якщо Youtube реалізує функцію таймауту (макс. Відтворення) у своїх програвачах javascript / flash. Хтось натрапляв на це?

Моя команда стикається з проблемою, коли у нас є список відтворення, який запускається по телевізору протягом ночі. Ми виявляємо, що відео постійно заморожується у випадкові моменти (просто припиніть відтворення).

Відповідно до нашої команди мережі, у нас немає відключень, проблем тощо;

Чи можлива така проблема щодо часу очікування / максимального часу списку відтворення згідно з якоюсь документацією, яку я пропустив?

В даний час ми називаємо <iframe> для списку відтворення та дайте йому запуститися.

Відповіді:

1 для відповіді № 1

Мені невідомо жодної навмисної політикизупинить відтворення через певний проміжок часу. Моя пропозиція полягала б у вивченні запитів HTTP, що генеруються програвачем (досить легко це зробити, якщо ви запускаєте стандартний веб-браузер на ПК, який підключений до вашого телевізора), і з’ясувати, чи виникає збій, коли HTTP робиться запит, який не отримує відповіді (з якихось причин).

Крім того, додайте до свого додатку вхід, який виявляє onError і onStateChange подій та спробуйте співвіднести конкретні події із зупинкою відтворення.

Незалежно від першопричини, цілком можливо, що ви могли б обійти це, виявивши ПАРУЗОВАНІ / ЗАКІНЧЕНІ події в програвачі та використовуючи програвач Player для явного початку відтворення.


1 для відповіді № 2

Я працюю в чомусь подібному (для Amazon TV), але лише з одним відео. Я роблю перезавантаження, коли виявляю помилку. Ця помилка 0 - це помилка винятку (ви можете побачити події в цьому сторінка). У мене є інша проблема, можливо, ви можете мені допомогти. Я бачу відео чорним, і я не бачу рішення.

function startVideo(player,src){
player = new YT.Player(player, {
height: "100%",
width: "100%",
videoId: src,

playerVars: {
controls: 0,
showinfo: 0 ,
modestbranding: 1,
wmode: "opaque",
loop: true,
},
events: {
"onReady": onPlayerReady,
"onStateChange": onPlayerStateChange,
"onError": onPlayerError,
}
});
}
function onPlayerError(event){
var D = new Date();
var d = millisToTime(D.getTime());
$("#m").html($("#m").html()+"</br></br> <b>-Error: "+event.data+"</b> -"+d);

var url = window.location.href;
if (url.indexOf("?") > -1){
url += "&p=1"
}else{
url += "?p=1"
}
window.location.href = url;
}