【问题标题】:Youtube API Set current timeYoutube API 设置当前时间
【发布时间】:2014-07-02 08:22:43
【问题描述】:

我目前正在为我的一个项目使用 You-Tube API。 我的使用方式如下:

var tag = document.createElement('script');
    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

// 3. This function creates an <iframe> (and YouTube player)
//    after the API code downloads.
var player;
var alternatePlayer;
function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
        height: '390',
        width: '640',
        videoId: 'M7lc1UVf-VE',
        events: {
            'onReady': onPlayerReady
        }
    });

}

// 4. The API will call this function when the video player is ready.
function onPlayerReady(event) {
    event.target.playVideo();
}

一切正常,但对于我的项目,我需要能够控制视频正在播放的当前时间。 我已经搜索了 You-Tube API 的注释和数据,但找不到可以让我设置视频当前时间的参数或函数(当前时间有 GET,但没有设置)。 有一个参数startseconds,当在youtube创建中提到时(我的意思是在参数height,width,videoId附近)可以控制视频从几秒开始。这不符合我的需要,因为我需要更改 SAME 视频的当前时间而不是加载另一个。有没有办法解决?我错过了这个设置功能吗?我必须记得与 startseconds 相同的 videoId 吗? 非常感谢您对此事的任何了解。


编辑: 好的,我以某种奇怪的方式找到了解决方案。出于某种原因,我没有在 You-Tube API 上看到它。

player.seekTo(55,true); 

此代码会将 youtube 播放器更改为 55 秒,这是当前时间的 SET。 感谢大家的宝贵时间。

【问题讨论】:

  • 不完全了解 API。进一步了解提供 youtube 支持的开源 Javascript 库。 (滑块等)。我的猜测是快速而肮脏的,是使用更改的 startseconds 参数重新加载帧,但这并不好。
  • 感谢您的评论。我已经搜索过,但到目前为止没有任何运气..

标签: javascript html youtube youtube-api


【解决方案1】:

查看以下文档:

首先,您需要对 Player 对象的 JS 引用。如需快速入门,请查看以下问题:

有了这个参考你可以做:

player.seekTo(42); //Go to 42 seconds

【讨论】:

  • 非常感谢,我很幸运在您之前找到了解决方案。接受你的回答!
  • 是的,已经看到了 :) 当您写最后一条评论时开始寻找解决方案。无论如何,我很快就会自己需要这个:D
猜你喜欢
  • 2012-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 2011-10-21
  • 2015-05-01
  • 1970-01-01
相关资源
最近更新 更多