【问题标题】:Force all youtube video play with 720 hd in html强制在 html 中使用 720 hd 播放所有 youtube 视频
【发布时间】:2016-08-16 09:51:15
【问题描述】:

任何人都可以帮助我修复此代码以强制 youtube 播放具有 720 高清的视频吗? 我尝试了 4 天,但问题仍然没有解决。 我需要在一页播放2个或更多视频,下面是代码,视频显示“假”720高清,不是真正的720质量,您需要手动调整质量,播放器发生了什么?是youtube播放器的bug吗?

<a class="wp-colorbox-inline" href="#player"><img src="http://www.planwallpaper.com/static/cache/51/5e/515ea22c3b785229fb2afd0fd6ef8c92.jpg" onclick="image_01()" />
</a>

<a class="wp-colorbox-inline" href="#player"><img src="http://www.planwallpaper.com/static/cache/b8/14/b81459a5dad107be1518b3238d262ce3.jpg" onclick="image_02()" />
</a>

<div style='display:none'>
    <div id='player' sytle='padding:10px; background:#fff;'>
        <p>
            <script>
                var tag = document.createElement('script');
                tag.src = "https://www.youtube.com/iframe_api";
                var firstScripttag = document.getElementsByTagName('script')[0];
                firstScripttag.parentNode.insertBefore(tag, firstScripttag);
                var player;
                var isrunning_01 = false;
                var isrunning_02 = false;

                function image_01() {
                    isrunning_01 = true;
                }

                function image_02() {
                    isrunning_02 = true;
                }

                function onYouTubeIframeAPIReady() {
                    player = new YT.Player('player', {
                        height: '768',
                        width: '1024',
                        videoId: '7YZBNzYwOME',
                        events: {
                            'onReady': onPlayerReady,
                            'onPlaybackQualityChange': onPlayerPlaybackQualityChange
                        }
                    });
                }

                function onPlayerReady(event) {
                    player.setPlaybackQuality('hd720');
                    if (isrunning_01 == true) {
                        event.target.cueVideoById({
                            videoId: 'xhXo7zIKJIc',
                            suggestedQuality: 'hd720'
                        });
                        event.target.playVideo();
                        isrunning_01 = false;
                    }
                    if (isrunning_02 == true) {
                        event.target.cueVideoById({
                            videoId: 'brNH_Z_QLx4',
                            suggestedQuality: 'hd720'
                        });
                        event.target.playVideo();
                        isrunning_02 = false;
                    }
                }

                function onPlayerPlaybackQualityChange(event) {
                    player.setPlaybackQuality('hd720');
                }

                function onPlayerStateChange(event) {
                    player.setPlaybackQuality('hd720');
                }
            </script>
        </p>
    </div>
</div>

我现在真的不知道该怎么做。

这是截图的高清示例:

【问题讨论】:

    标签: javascript html youtube


    【解决方案1】:

    这段代码完成了我的工作:

    // 2. This code loads the IFrame Player API code asynchronously.
        var tag = document.createElement('script');
    
        tag.src = "https://www.youtube.com/iframe_api";
        var firstScriptTag = document.getElementsByTagName('script')[0];
        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    
        // 3. This function creates an <iframe> (and YouTube player)
        //    after the API code downloads.
        var player;
        function onYouTubeIframeAPIReady() {
            player = new YT.Player('player', {
                height: '400',
                width: '600',
                videoId: 'VIDEOID',
               // playerVars: { 'autoplay': 1 },
                events: {
                    'onReady': onPlayerReady
                }
            });
        }
    
        // 4. The API will call this function when the video player is ready.
        // In this case we set the playback quality to 1080p
        function onPlayerReady(event) {
            event.target.setPlaybackQuality('hd720');
        }
    

    有一个例子: http://codepen.io/bra1N/pen/RRdWKk

    【讨论】:

    • 我也试过上面的代码,是的,我知道这行得通,但是你能告诉我如何用这些代码播放 2 个或更多视频吗?
    • 您无法使用此代码播放更多视频,您应该为每个要播放的视频调用函数...您有多少视频?
    • 才4,但我真的不知道如何处理,正如我所说,我已经尝试了4天。
    • 哇,它就像一个魅力,你救了我的命,非常感谢!!
    • 很高兴,我很高兴我救了你:)
    猜你喜欢
    • 2012-12-13
    • 1970-01-01
    • 2015-05-03
    • 2012-09-25
    • 2013-10-29
    • 1970-01-01
    • 2014-05-01
    • 2017-08-30
    • 2015-11-12
    相关资源
    最近更新 更多