【问题标题】:YouTube embed crashes ChromecastYouTube 嵌入崩溃 Chromecast
【发布时间】:2014-06-24 09:13:40
【问题描述】:

我目前正在为我们计划中的 Chromecast 应用构建自定义接收器。 我需要在电视上显示 YouTube 视频以及我们的应用包含的其他照片和信息。

但是,每当在屏幕上播放嵌入的 YouTube iframe 时,几分钟后(最少 2 分钟,最多 15 分钟)Chromecast 会完全冻结(包括开发工具调试器),并最终自行重置。

使用这个超级简单的测试页面,每次都可以在多个 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

【问题讨论】:

    标签: youtube youtube-api chromecast google-cast youtube-iframe-api


    【解决方案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

    问候。

    【讨论】:

    • stackoverflow 上的答案应该是不言自明的,不应只包含链接。请编辑您的答案。
    • 我试过用这个方法。 Chromecast 接收器应用程序仍然崩溃。 @alinaddaf,也许你能帮忙?
    猜你喜欢
    • 2014-07-20
    • 2012-01-02
    • 1970-01-01
    • 2014-04-16
    • 2014-10-22
    • 1970-01-01
    • 2019-07-14
    • 2014-10-16
    • 2015-06-26
    相关资源
    最近更新 更多