gpt4 book ai didi

javascript - 使用 YouTube API 设置视频开始时间 - "start"playerVars 选项过去可以工作,但现在不行?

转载 作者:行者123 更新时间:2023-11-28 19:49:00 25 4
gpt4 key购买 nike

我写了this stupid toy使用 YouTube API。基本上,它只是在不同的随机时间启动视频的多个副本。这效果很好,持续了大约一年。但今天我注意到随机开始时间不再起作用,它只是在 t=0 时开始所有视频(在多个浏览器/操作系统/计算机上测试)。

知道出了什么问题吗?我只是将一个随机数传递给 start范围。看起来很简单。

这是我的代码。关键部分在add函数中,其中start参数在playerVars中设置。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flockas</title>
</head>
<body>
<button id="pause">Pause Flockas</button>
<button id="add">Add One Flocka</button>
<button id="remove">Remove One Flocka</button>
<p>
<div id="flockas"></div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
var flockas = [];

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 onPlayerReady(event) {
event.target.playVideo();
}

function add() {
var start = Math.random() * 60;

$("#flockas").append('<div id="flocka' + flockas.length + '" class="flocka"></div>');

flockas.push(new YT.Player('flocka' + flockas.length, {
height: '105',
width: '140',
videoId: 'yOc-MXGuKgs',
playerVars: {
autoplay: 1,
loop: 1,
playlist: 'yOc-MXGuKgs',
start: start
},
events: {
'onReady': onPlayerReady
}
}));
}

function remove() {
var divs = $(".flocka");
$(divs[divs.length - 1]).remove();
flockas.splice(flockas.length - 1)
}

function pause() {
var pauseEl = $("#pause");
if (pauseEl.html() === "Pause Flockas") {
for (var i = 0; i < flockas.length; i++) {
flockas[i].pauseVideo();
}
pauseEl.html("Play Flockas");
} else {
for (var i = 0; i < flockas.length; i++) {
flockas[i].playVideo();
}
pauseEl.html("Pause Flockas");
}
}

function onYouTubeIframeAPIReady() {
for (var i = 0; i < 5; i++) {
add();
}
}

$("#add").click(add);
$("#remove").click(remove);
$("#pause").click(pause);
</script>
</body>
</html>

就像我上面说的,我最初制作它时效果很好,直到最近我才发现它不起作用。

最佳答案

启动参数仍然有效。问题是,您为它计算了错误的值:错误的类型。也许已经改变了:提供有效的 INTEGER 值是可行的。 (如果允许使用分数,则并非所有分数都有效。)

例如,如果您想要一个介于 0 到 200 之间的值,则使用:

  var maxVal = 200;
var startVal = Math.ceil((Math.random() * maxVal));

关于javascript - 使用 YouTube API 设置视频开始时间 - "start"playerVars 选项过去可以工作,但现在不行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23821157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com