有谁知道如何覆盖YouTube"恢复播放"功能?我需要在我的网站上嵌入的YouTube视频每次从头开始,而不是用户最后离开的位置。
过去,YouTube上的简历回放功能仅适用于20分钟或更长时间的视频,但最近几周,YouTube似乎已将该功能推广到所有视频。
我假设我可以将开始时间设置为0秒,或者在播放器初始化后寻找0秒。但这并不奏效。通过任何方法将开始时间设置为0将导致视频从用户上次停止的位置恢复(如果用户登录YouTube)。
以下是我的默认YouTube iframe API代码:
<div id="yt-player"></div>
<script>
var player;
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
function onYouTubePlayerAPIReady() {
player = new YT.Player("yt-player", {
height: "433",
width: "770",
videoId: "[YOUTUBE_VIDEO_ID]",
playerVars: {
autoplay: 1,
html5: 1,
rel: 0
},
events: {
onReady: onPlayerReady,
onStateChange: onPlayerStateChange
}
})
}
function onPlayerReady(e) {
//...
}
function onPlayerStateChange(e) {
//...
}
</script>
到目前为止,我已经尝试过:
将开始时间设置为0秒
...
playerVars: {
autoplay: 1,
html5: 1,
rel: 0,
start: 0
},
...
在玩家准备就绪时寻求0秒
function onPlayerReady(e) {
player.seekTo(0);
}
在玩家状态=播放后寻求0秒
function onPlayerStateChange(e) {
if(e.data==1)player.seekTo(0);
}
将自动播放设为false,然后在播放器就绪时调用playVideo()
...
playerVars: {
autoplay: 0,
html5: 1,
rel: 0
},
...
function onPlayerReady(e) {
player.playVideo();
}
以上工作都没有(玩家准备就绪的搜索有时候工作,但更多时候没有。玩家会在用户的最后位置加载,按照指示寻找0,但然后在之前跳回用户的最后位置回放。我也尝试过-1但没有运气)
我能找到的唯一解决方法是将开始时间设置为1秒(或者在玩家准备就绪时寻求1秒)。但这显然不是一个理想的解决方案。
有没有人有任何建议或知道解决方法?谢谢。
答案 0 :(得分:0)
你正在考虑复杂化。
https://youtu.be/Z2Q7jzHCAxM?t=692
(随机视频)
现在看看最后一部分:
t=692
这是视频应该以秒开始的时间。 所以,如果你把它改成:
t=0
它将从头开始。
那么,你如何利用它?
var videoId = [YOUTUBE_VIDEO_ID] + "t=0";
videoId: videoId,
playerVars: {
autoplay: 1,
html5: 1,
rel: 0
},