Немного странно - я впервые работаю с API iFrame YouTube, создавая скин для сайта для клиентов.
Я следовал примерам кода, предоставленным Google / YouTube (https://developers.google.com/youtube/player_parameters?playerVersion=HTML5#IFrame_Player_API).
Проблема заключается в том, что при нажатии кнопки воспроизведения, которая вызывает player.playVideo (), при некоторых обстоятельствах он будет воспроизводиться, но в основном он просто обновляет видео без ошибок, зарегистрированных в консоли. Видео станет черным, как если бы оно было готово к воспроизведению, но вместо этого оно вернется к видеопостеру с кнопкой воспроизведения.
Вы можете просмотреть весь код здесь - https://codepen.io/james-morton/pen/BEZGvm
Я пробовал разные вещи, например, вместо использования:
function onYouTubePlayerAPIReady() {
.. Я пробовал это как другие примеры безрезультатно
window.onYouTubePlayerAPIReady = function() {
Опять же, для ясности, элементы управления иногда работают, а иногда нет - на той же машине, на том же браузере, на том же видео - я пробовал другие видео и тот же результат. Это действительно противоречиво, поскольку иногда работает.
Есть идеи?
Edit:
После дальнейшей отладки используйте следующее:
function onPlayerStateChange(event){
console.log('State Change: ' + event.data);
}
Я вижу, что когда он не загружается, состояние игрока изменилось с -1 (Unstarted) на 3 (Buffering), а затем обратно на -1 (Unstarted) при нажатии кнопки воспроизведения.