我目前正在为我的一个项目使用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,但没有set)。有一个参数startseconds
,当在youtube创建中提到时(我的意思是在参数高度,宽度,videoId附近)可以控制视频从什么秒开始。这不适合我的需要,因为我需要改变相同的视频的当前时间,而不是加载另一个。还有别的办法吗?我是不是漏掉了这个集合函数?我必须回忆与startseconds
相同的视频oid吗?对于此事的任何提示,我都要提前表示感谢。
编辑:好吧,我用一种奇怪的方法找到了解决办法。由于某些原因,我没有在You-Tube API上看到它。
player.seekTo(55,true);
此代码将把u-tube播放器更改为55秒,这是当前时间的SET。感谢大家的宝贵时间。
查看以下文档:
- https://developers.google.com/youtube/js_api_reference
- https://developers.google.com/youtube/youtube_player_demo
首先你需要一个JS对Player
对象的引用。为了快速开始,请看看下面的问题:
- 如何获得对现有YouTube播放器的参考?
你可以这样做:
player.seekTo(42); //Go to 42 seconds