我正在尝试设置 YouTube iframe API 以播放质量较低的全高清视频。我的目标是节省移动设备的带宽并减少加载时间。我的 HTML 结构是经典的播放器 div,加上一个用于消息的调试 div。
HTML
<div id="debug"></div>
<div id="your_video_id">
<div id="player"></div>
</div>
我试图在播放器准备好后立即调用,setPlaybackQuality
以避免移动用户在缓冲上浪费时间(如本文所述)。我还在“缓冲”和“播放”状态下都调用了它。当质量发生变化时,调试内容会更新为实际播放质量。
JAVASCRIPT
/* Trigger player ready */
function onPlayerReady(event)
{
player.setPlaybackQuality("small");
}
/* Detect playback quality changes */
function onQualityChange(event)
{
document.getElementById("debug").innerHTML = event.data;
}
/* Trigger player events */
function onPlayerStateChange(event)
{
if (event.data == YT.PlayerState.BUFFERING)
{
player.setPlaybackQuality("small");
}
if (event.data == YT.PlayerState.PLAYING)
{
player.setPlaybackQuality("small");
}
}
该代码似乎在桌面上工作(调试正确设置为“小”),但它在移动设备上被忽略(调试设置为“大”,使用 Android 4.2.2 测试)。有解决方案吗?