我想创建一个按钮,暂停自动播放的YouTube视频。
这是iframe:
<iframe id="music" width="0" height="0" src="https://www.youtube.com/embed/v_FucrYWy3k?rel=1&controls=0&showinfo=0&start=1&autoplay=1&enablejsapi=1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
这是按钮:
<button onclick="mute()" type="button" name="button">mute</button>
这就是JS:
function mute(){
var myVideo = document.getElementById('music');
myVideo.pauseVideo();
}
我错过了什么?
答案 0 :(得分:0)
似乎使用当前的Youtube API,您必须做的不仅仅是将enablejsapi
作为get参数添加到嵌入。实际上,您必须包含来自 here 的API脚本,并使用自定义方法。您可以查看以下代码或运行此工作 JSFiddle :
<iframe id="music" width="310" height="310" src="https://www.youtube.com/embed/v_FucrYWy3k?rel=1&controls=1&showinfo=0&start=1&autoplay=1&enablejsapi=1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
<button id='button' type="button" name="button">mute</button>
JS代码:
//create the script for the API and append it to the DOM
var tag = document.createElement('script');
tag.src = 'https://www.youtube.com/iframe_api';
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('music', {
events: {
'onReady': onPlayerReady
}
});
}
function onPlayerReady(event) {
document.getElementById('button').addEventListener('click', function() {
player.pauseVideo();
})
}
全部在文档 here 。
答案 1 :(得分:-1)
你最好使用youtube api。