这是我第一次使用YouTube的API,我发现很难理解文档。基本上我在页面上有多个视频,当你点击一个它弹出在灯箱并播放正确的视频。所有这些工作正常。播放器启动后的YouTube API主播播放器功能
客户端现在希望所有视频在开始时自动静音,并且一旦您完成视频,他们希望该帧跳到正确的位置。
如果我使用youtube iframe api,我似乎无法更新videoId。下面是我的代码:
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: '323',
width: '576',
videoId: 'Fy7Li0dMRSY',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(event) {
event.target.mute(); // this does not do anything
event.target.playVideo();
}
var done = false;
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
//setTimeout(stopVideo, 6000);
done = true;
}
}
function stopVideo() {
player.stopVideo();
}
function loadVid(vidID, title){
// loads youtube video with video title & youtube video ID
$('.lightbox .title').html(title);
$('.lightbox iframe').prop('src','https://www.youtube.com/embed/'+vidID+'?rel=0&wmode=transparent&enablejsapi=1');
//player.mute() does not work here
showLightbox();
}
我的问题是试图调用播放器功能于loadVid函数内部静音,它抛出回一个错误(任意函数抛出同样的错误),我无法弄清楚如何使用播放器等功能。
的错误是player.stopVideo是不是一个函数
所以,我怎么能静音上开始播放视频?将它添加到onPlayerReady也不起作用。