Javascript hh:mm:ss格式的Youtube API seekTo()

Javascript hh:mm:ss格式的Youtube API seekTo(),javascript,youtube-api,Javascript,Youtube Api,我使用基于youtube api的seekto创建指向当前视频的链接,但使用秒,我希望使用小时-分钟-秒(HHMMSS)。 这当然可以用一点javascript实现 我的代码: var tag=document.createElement('script'); tag.src=”https://www.youtube.com/iframe_api"; var firstScriptTag=document.getElementsByTagName('script')[0]; firstS

我使用基于youtube api的seekto创建指向当前视频的链接,但使用秒,我希望使用小时-分钟-秒(HHMMSS)。 这当然可以用一点javascript实现

我的代码:



var tag=document.createElement('script'); tag.src=”https://www.youtube.com/iframe_api"; var firstScriptTag=document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(标记,firstScriptTag); var播放器; 函数onyoutubeiframeapiredy(){ 玩家=新的YT.玩家(“玩家”); }

谢谢

我不确定Youtupe API是否支持通过
HH:MM:SS
进行搜索,但您肯定可以将
HH:MM:SS
转换为
,即:

HTML:

<iframe id="player" type="text/html" width="500" height="400" src="https://www.youtube.com/embed/Zou31ZBBhTY?enablejsapi=1" frameborder="0" allowfullscreen></iframe>
<br>
<p><a href="javascript:void(0);" onClick="player.seekTo(convertMToS('01:12:26'))">01:12:26</a></p>
<p><a href="javascript:void(0);" onClick="player.seekTo(convertMToS('00:55:55'))">00:55:55</a></p>
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;

function onYouTubeIframeAPIReady() {
    player = new YT.Player('player');
}

function convertMToS(hms){
// your input string
var a = hms.split(':'); // split it at the colons
// minutes are worth 60 seconds. Hours are worth 60 minutes.
var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]); 
console.log(seconds);
return seconds;
}
演示:

如果时间码格式可以是
DD:HH:MM:SS
HH:MM:SS
MM:SS
SS
中的任何一种,请使用此选项

var duration = '3:23:59:59'; // 4 days minus 1 second

var a = duration.split(':');
var mul = new Array(1, 60, 3600, 86400);

var seconds = 0;

for (var x = 0; x < a.length; x++)
{
    seconds += (a[a.length - 1 - x] * mul[x]);
}
var-duration='3:23:59:59';//4天减1秒
var a=持续时间.分割(':');
var mul=新阵列(1,60,3600,86400);
var秒=0;
对于(变量x=0;x
非常感谢,这正是我想要的。您认为当您单击链接时,是否有可能在控制栏上看到一个瞬间?谢谢。你好,佩德罗为了改进我的代码,我需要这样做:如果播放器暂停,在调用player.seekTo函数时播放视频。谢谢
var duration = '3:23:59:59'; // 4 days minus 1 second

var a = duration.split(':');
var mul = new Array(1, 60, 3600, 86400);

var seconds = 0;

for (var x = 0; x < a.length; x++)
{
    seconds += (a[a.length - 1 - x] * mul[x]);
}