Javascript YouTube IFrame API-setPlaybackQuality()未更改当前播放时间的视频分辨率 我曾试图通过YouTube的iFraseIfRAMAPI API >简单地调用播放器,在播放过程中设置播放质量(“HD720”)。

Javascript YouTube IFrame API-setPlaybackQuality()未更改当前播放时间的视频分辨率 我曾试图通过YouTube的iFraseIfRAMAPI API >简单地调用播放器,在播放过程中设置播放质量(“HD720”)。,javascript,jquery,html,youtube,youtube-iframe-api,Javascript,Jquery,Html,Youtube,Youtube Iframe Api,根据YouTube: “该功能使视频以新质量在其当前位置重新加载。” 但是,只有当当前播放时间达到缓冲的旧质量流的终点时,视频的质量才会改变。那么,我如何才能强制播放器在此时以新的分辨率缓冲视频,并从视频的“当前持续时间”开始显示视频,就像在YouTube中一样? 顺便说一下,我在html中使用预定义的iframe标记,并在嵌入URL中使用所有参数,如下所示: <iframe id="genesis" src="https://www.youtube.com/embed/EZgTo1kKS

根据YouTube:

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

但是,只有当当前播放时间达到缓冲的旧质量流的终点时,视频的质量才会改变。那么,我如何才能强制播放器在此时以新的分辨率缓冲视频,并从视频的“当前持续时间”开始显示视频,就像在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"
});
请帮忙!
谢谢。

在调用setPlaybackQuality功能后,您可以使用seek功能重新缓冲视频

function onQualityChange(){
    player.setPlaybackQuality("small")
    player.seekTo(60) // or set to CurrentTime using player.getCurrentTime()
}
如果此代码不起作用,您必须先停止视频,然后设置视频质量,然后查找您的时间