【发布时间】: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