Youtube Player API iframe嵌入| player.clearVideo()无效

时间:2015-03-19 19:08:34

标签: javascript jquery youtube-api

我检查了Youtube API v3 iframe嵌入docs,并尝试将player.clearVideo()函数应用于我的按钮,如下所示(省略号替换代码):

...

function onPlayerReady(event) {
 var zapButton = document.getElementById('zapvideo');
  zapButton.addEventListener("click", function() {
  player.clearVideo(); // NOT WORKING
 });
}
...

$(function(){
$('#zapvideo').on('click', function(){ ... });
});

没有任何事情发生(没有错误)。 player.stopVideo()和其他控件工作。如何清除Youtube播放器中的视频?我正在使用Youtube的HTML5播放器,但即使Youtube切换到某些视频的Flash播放器,我仍然无法清除播放器中的视频(最糟糕的是,当HTML5兼容视频时,Youtube不会恢复为HTML5播放器随后选择并在我的应用程序中播放,无论我是否选择加入HTML5或添加相关的html5 playerVars,这意味着当他们处于焦点时我无法选择基于Flash的播放器控件。这对于“无聊”导航非常重要!)。我正在使用Firefox 36.0.1。

在保持播放器可用的同时清除视频的任何合适的解决方法功能对我来说都没问题。

1 个答案:

答案 0 :(得分:0)

使用以下代码找到解决方法:

...
function onPlayerReady(event) {
...

$('#zapvideo').on('click', function(){
$('#player').hide();
event.target.loadVideoById('',0);
event.target.seekTo(0); // iOS
event.target.stopVideo();
return false;
});

}

#zapvideo按钮会隐藏iframe播放器,因为在通过event.target.loadVideoById()提交空视频ID或虚拟视频ID后,我们不希望在播放器中看到任何错误消息。请务必在播放新视频之前显示播放器。相关代码封装在onPlayerReady()函数中,以确保在代码执行之前播放器始终就绪。