Force Youtube嵌入高清版(2016版)

时间:2016-03-09 19:30:50

标签: javascript iframe youtube embed

好吧,之前已经多次询问过这个问题 - 但是Youtube似乎每隔一天就会改变一次。我无法找到一种方法来强制Youtube嵌入从一开始就开始播放高清源。切换到HD总是在5-10秒后发生。

不再有效的方法:

  1. &hd=1参数添加到iframe src
  2. &vd=hd720&vd=hd1080参数添加到iframe src。这里描述:Force youtube embed to start in 720p
  3. 将hrame嵌入代码中的iframe尺寸更改为width="1280" heigh="720",然后使用CSS将iframe缩小/缩小到父div。这里描述:http://thenewcode.com/717/Force-Embedded-YouTube-Videos-To-Play-In-HD和此处:How to force youtube to play HD videos
  4. 唯一可行的方法是使用Youtube JavaScript API,如下所述: http://biostall.com/the-100-guaranteed-method-to-get-youtube-iframe-embeds-playing-in-hd-by-default/

    // 1. 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);  
      
    // 2. This function creates an <iframe> (and YouTube player) after the API code downloads.  
    var player;  
    function onYouTubeIframeAPIReady() {  
        player = new YT.Player('player', {  
            height: '1280',  
            width: '720',  
            videoId: 'E37YNMYlKvo',  
            events: {  
                'onReady': onPlayerReady  
            }  
        });  
    }  
      
    // 3. The API will call this function when the video player is ready.  
    function onPlayerReady(event) {  
        player.setPlaybackQuality('hd1080'); // Here we set the quality (yay!)  
        event.target.playVideo(); // Optional. Means video autoplays  
    }  
    <div id="player"></div>  

    但是:我想使用简单的iframe嵌入,因为视频将通过wordpress oembed功能嵌入。

    有没有办法为简单的iframe嵌入运行player.setPlaybackQuality('hd1080');函数?

2 个答案:

答案 0 :(得分:1)

您还可以设置playerVars

            vq: 'hd1080', 

144p:&amp; vq = tiny

240p:&amp; vq = small

360p:&amp; vq = medium

480p:&amp; vq = large

720p:&amp; vq = hd720

1080p:&amp; vq = hd1080

答案 1 :(得分:0)

根据我的理解,似乎有一个'VQ'参数,您可以将其附加到嵌入式iframe的末尾,并将hd720hd1080设置为值。经过一些研究后,似乎YouTube曾提供过'VQ'参数,然后把它带走了,并且在撰写本文时又回来了!简而言之,您的嵌入应该看起来像这样:

<iframe src="https://www.youtube.com/embed/VIDEO_ID_HERE?vq=hd1080" frameborder="0" allowfullscreen></iframe>

以下是我在研究期间发现的与此相关的文章:Found Here

我在页面上对此进行了简要测试,但似乎有效(目前)。希望这有帮助!