我检查了 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。
任何合适的解决方法功能来清除视频,同时保持播放器可用,对我来说都很好。
最佳答案
使用以下代码找到了解决方法:
...
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 后在播放器中看到任何错误消息
。请记住在播放新视频之前显示播放器。相关代码封装在 onPlayerReady()
函数中,以确保播放器在代码执行之前始终准备就绪。
关于javascript - Youtube 播放器 API iframe 嵌入 | player.clearVideo() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29153020/