从iframe代码获取嵌入式YouTube播放列表视频的当前时间戳

我已经在自己的网站上嵌入了youtube视频(这是一个播放列表链接),我想在用户播放视频时获取视频的时间戳。 youtube视频以以下格式嵌入我的网站:

<iframe src="//www.youtube.com/embed/eykoKxsYtow?list=PLeo1K3hjS3usILfyvQlvUBokXkHPSve6S" width="560" height="314" allowfullscreen="allowfullscreen"></iframe>

现在,当播放此视频时,我想获取视频的当前时间戳。我想将其存储在数据库中,以便下次用户登录我的网站时可以开始播放视频。如何使用Javascript完成此操作?

这是我尝试过的。

ytplayer = document.getElementsByTagName("iframe")[0];
ytplayer.getcurrentTime();

抛出错误:

VM1406:1 Uncaught TypeError: ytplayer.getcurrentTime is not a function
    at <anonymous>:1:10

一旦获得了时间戳,现在我还想将视频设置为用户登录的那个时间戳。如何还可以使用Javascript设置视频位置?

我需要完整的工作代码,youtube API有点难以理解。

herongxing 回答:从iframe代码获取嵌入式YouTube播放列表视频的当前时间戳

您可以尝试一下,效果很好。

将其放入您的html文件中。

System.Runtime.Action

现在从public class Action { [JsonProperty("tstamp")] public DateTimeOffset Tstamp { get; set; } [JsonProperty("text")] public string Text { get; set; } [JsonProperty("type")] public string Type { get; set; } } 标签获取视频的链接

<div id="player"></div>

从链接中获取视频的ID

iframe

一旦您获得了let url = document.getElementsByTagName('iframe')[0].src; ,就可以开始了。

function youtube_parser(url){
    var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;
    var match = url.match(regExp);
    return (match&&match[7].length==11)? match[7] : false;
}
let video_id = youtube_parser(url);

现在,您可以使用video_id变量进行ajax调用,该变量类似于<script> // This code loads the IFrame Player API code asynchronously. let tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; let firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag,firstScriptTag); // This function creates an <iframe> (and YouTube player) after the API code downloads. // player is a global variable let player; function onYouTubeIframeAPIReady() { player = new YT.Player('player',{ height: '360',width: '640',videoId: video_id,events: { 'onReady': onPlayerReady,} }); } </script> ,您可以使用此变量处理所有与视频相关的事件。

player
本文链接:https://www.f2er.com/3097960.html

大家都在问