2016-03-07 89 views
1

我有一个嵌入了YouTube视频的网站。我正在使用YouTube播放器API嵌入我的视频,并且在页面加载时将播放器设置为自动播放。一旦当前嵌入式视频播放完毕,我就设置了一个监听事件重定向到下一个视频(我需要重定向到一个新的物理页面,而不是将下一个视频加载到由API创建的现有iframe中,因为每个页面都包含信息/针对该视频的评论)。在后台自动播放嵌入式YouTube视频?

这一切都完美,但只有当你打开标签。如果您在后台列出视频(他们只是将录音设置为静态图片,实际上没有什么可以观看的内容),那么在当前视频播放结束后,该网页将会重新定向,但YouTube视频无法播放直到你点击标签。只要你点击标签,自动播放启动,视频开始。但是我需要视频自动播放,无论该标签是否打开。有任何想法吗?

我用JWplayer进行了实验,重定向/自动播放功能完美,但这意味着必须自己托管视频,而且我宁愿主持YouTube。我也注意到YouTube.com没有这个问题。它将加载播放列表中的下一个视频页面并自动播放该选项卡是否打开。

此问题仅在Chrome,Firefox和Opera中出现,但不在Edge或IE中。

谢谢。

<div id="yt-player"></div> 
<script src="http://www.youtube.com/player_api"></script> 
<script> 

// create youtube player 
var player; 
function onYouTubePlayerAPIReady(){ 
    player = new YT.Player('yt-player',{ 
     height:'433', 
     width:'770', 
     videoId:'xxxxxxxxxxx', 
     playerVars: { 'autoplay': 1, 'controls': 1, 'html5': 1 }, 
     events:{ 
      'onReady':onPlayerReady, 
      'onStateChange':onPlayerStateChange 
     } 
    }); 
} 

// autoplay video 
function onPlayerReady(event){ 
    event.target.playVideo(); 
} 

// when video ends 
function onPlayerStateChange(event) { 
    if(event.data === 0 && $("#autoplayCB").is(':checked')) { 
     window.location="/nextvideo.htm"; 
    } 
} 

</script> 

回答

0

我遇到过这个问题。我发现你必须先创建播放器,然后才能更改使用loadVideoById的视频。

https://developers.google.com/youtube/iframe_api_reference#Queueing_Functions 

这里的问题是,你必须使自己的视频列表,或者找出获得的视频列表成JavaScript数组的一些方法,并调用下一个在当前视频结束。你将需要建立一个手动播放列表。

唯一的另一个警告是,您必须首次在页面上加载视频,在没有提供选项卡焦点的情况下在新选项卡中打开视频会阻止它初始化,直到您这样做。

+0

这适用于将下一个视频加载到预先存在的播放器中,但在视频播放完毕后需要加载新页面,并在该新页面上自动播放视频。 – Adam

+0

我知道去年chrome进行了一次更新,暂停了任何自动播放的背景噪音,直到您专注于选项卡。听起来就像这里发生了什么,但JWplayer能够自动播放,而不必关注标签,这是令人困惑的:\ – Adam

+0

如果你正在加载一个新的页面,它不会被集中,它不会使用youtube API 。我猜想YT做这件事的原因之一是因为他们不希望人们使用它作为播客服务。这样做的Chrome插件已从Chrome商店中删除。 – WHol

相关问题