【问题标题】:YouTube IFrame API - setPlaybackQuality() is not changing video resolution from current playback timeYouTube IFrame API - setPlaybackQuality() 不会从当前播放时间更改视频分辨率
【发布时间】:2018-01-11 15:13:09
【问题描述】:

我一直在尝试使用 YouTube IFrame API更改来自 YouTube 的 iframe 嵌入视频的视频播放质量/分辨率,只需在中间调用 player.setPlaybackQuality("hd720")播放。

根据 YouTube:https://developers.google.com/youtube/iframe_api_reference#setPlaybackQuality

“该函数使视频以新质量在其当前位置重新加载。”

但是,只有当当前播放时间达到缓冲的旧质量流的终点时,视频的质量才会发生变化。那么,我如何才能强制播放器在那一刻以新分辨率缓冲视频,并从视频的“当前持续时间”开始显示它,就像它在 YouTube 中发生的一样?强>

顺便说一句,我在 html 中使用预定义的 iframe 标记以及嵌入 URL 中的所有参数,如下所示:

<iframe id="genesis" src="https://www.youtube.com/embed/EZgTo1kKSsg?enablejsapi=1&controls=0&showinfo=0&iv_load_policy=3&modestbranding=1&rel=0&fs=1" frameborder="0"></iframe>

然后创建播放器,如下所示:

$.getScript("https://www.youtube.com/player_api");

function onYouTubeIframeAPIReady() {
player = new YT.Player('genesis', {
    events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange,
        'onPlaybackQualityChange': onQualityChange
    }
});
}

function onQualityChange(){
    console.log('Now playing at ' + player.getPlaybackQuality());
    // Though it returns "hd720" within a few moments after hitting
    // setPlaybackQuality("hd720"), actual playback quality remains the older one.
}

$(document).on('click', '.play', function(){
    player.playVideo();
});

$(document).on('click', '#res_change_while_playing', function(){
    player.setPlaybackQuality($(this).data("id")); // data-id="hd720"
});

请帮忙! 谢谢。

【问题讨论】:

    标签: javascript jquery html youtube youtube-iframe-api


    【解决方案1】:

    调用 setPlaybackQuality 函数后,您可以使用 seek 函数重新缓冲视频

    function onQualityChange(){
        player.setPlaybackQuality("small")
        player.seekTo(60) // or set to CurrentTime using player.getCurrentTime()
    }
    

    如果这段代码不起作用,你必须先停止视频,然后设置视频质量,然后寻找你的时间

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      • 2019-04-11
      • 2017-05-09
      • 1970-01-01
      • 2021-12-23
      • 2015-10-10
      相关资源
      最近更新 更多