我正在使用 Youtube Javascript API(iframe 版本)并使用 start
和 end
参数来仅播放视频的一部分。虽然一切正常,但一旦到达 end
,播放器就会停止(正常行为)。然而,当再次点击play时,播放器似乎没有考虑start
选项。它总是从视频的开头重新开始播放。然而,它始终以定义的 end
值结束。
<iframe frameborder="0" src="https://www.youtube.com/embed/5lGoQhFb4NM?autoplay=1&autohide=1&modestbranding=1&showinfo=0&controls=0&vq=hd720&rel=0&start=60&end=100" style="width: 100%; height: 400px;"></iframe>
你们知道为什么会这样吗?
最佳答案
以下是我如何让重播按钮在原始 start
时间重新开始,以及如何防止用户滚动到 playerVars
的开始/结束边界之外>:
function onPlayerStateChange(event) {
var isClip = playerOptions.playerVars.start && playerOptions.playerVars.end;
var start = isClip ? playerOptions.playerVars.start : null;
var end = isClip ? playerOptions.playerVars.end : null;
if (event.data == YT.PlayerState.PLAYING) {
if (isClip) {
var currentTime = event.target.getCurrentTime();
if (currentTime < start || currentTime > end) {
event.target.seekTo(playerOptions.playerVars.start);
}
}
}
}
关于iframe - Youtube Javascript API : start parameter not working on replay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38626186/