這是我第一次使用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也不起作用。