Встраивание YouTube приводит к сбою Chromecast

В настоящее время я создаю собственный приемник для нашего запланированного приложения Chromecast. Мне нужно отображать видео YouTube на телевизоре вместе с другими фотографиями и информацией, которые есть в нашем приложении.

Однако всякий раз, когда на экране воспроизводится встроенный iframe YouTube, через несколько минут (минимум 2, максимум 15) Chromecast полностью зависает (включая отладчик Dev Tools) и в конечном итоге просто перезагружается.

Проблема может воспроизводиться каждый раз, на нескольких устройствах Chromecast, в различных видео, используя эту очень простую тестовую страницу:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Youtube Test</title>
</head>
<body>
    <iframe width="1280" height="720" src="//www.youtube.com/embed/YE7VzlLtp-4?autoplay=1" allowfullscreen></iframe>
</body>
</html>

Кто-нибудь сталкивался с подобной проблемой или решением этой?

Включенная временная шкала [1] показывает, что iframe перестает получать кадры через AJAX и вскоре после этого все падает.

[1] Хронология записанных инструментов разработчика: https://drive.google.com/file/d/0B_bgLIi2Uw5WcDBHSlpwVlJ5eFE/edit?usp=sharing


person BenjyCook    schedule 07.05.2014    source источник


Ответы (1)


Я использую этот код, и он работает.

...
<div id="player" style="text-align: center"></div>
<script type="text/javascript">

    var vid = ...;

    var tag = document.createElement('script');
    tag.src = "http://www.youtube.com/player_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    var player;
    function onYouTubePlayerAPIReady() {
        player = new YT.Player('player', {
            playerVars: {
                videoId: vid,
                'enablejsapi': 1,
                'autoplay': 1,
                'rel': 0,
                'showinfo': 0,
                'controls': 0,
                'egm': 0,
                'showsearch': 0
            },
            events: {
                'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange,
                'onError': onError
            }
        });
    } 

</script>
...

Вы можете проверить ссылку на iframe API здесь: https://developers.google.com/youtube/iframe_api_reference< /а>

С Уважением.

person luismoramedina    schedule 09.05.2014
comment
Ответы на stackoverflow должны говорить сами за себя и не должны содержать только ссылку. Пожалуйста, отредактируйте свой ответ. - person Veda; 09.05.2014
comment
Я пробовал использовать этот метод. Приложение Chromecast Reciever по-прежнему аварийно завершает работу. @alinaddaf, возможно, вы могли бы помочь? - person BenjyCook; 09.06.2014