0
我試圖讓一個YouTube視頻無聲地循環播放。然後,當用戶點擊暫停時,重新啓動視頻並播放完整音量。onStateChange函數結束之前觸發的YouTube API暫停
這是我採取的方法。
var flag = 1;
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
playerVars: { 'autoplay': 1, 'controls': 1,'autohide':1,'wmode':'opaque' },
videoId: '[CODE]',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
}
});
}
function onPlayerReady(event) {
event.target.playVideo();
event.target.mute();
}
function onPlayerStateChange(event){
//alert('State changing!');
if (event.data == 0){
alert('Play over');
player = new YT.Player('player', {
playerVars: { 'autoplay': 1, 'controls': 1,'autohide':1,'wmode':'opaque' },
videoId: '[CODE]',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
}
});
}
else if(event.data == 2)
{ if(flag == 1)
{
alert('Play loud!');
event.target.stopVideo();
event.target.clearVideo();
event.target.seekTo(0);
event.target.setVolume(100);
flag = 4;
}
}
}
我的問題是,在視頻結束它觸發onPlayerStateChange與暫停(event.data == 2
),它觸發播放結束(event.data == 0
)前。
這是自然的還是隻是我。我不覺得「停頓」是否會觸發?
你採取了類似的方法嗎?我能知道你做了什麼嗎?
在此先感謝。
這不是對問題的回答,而是對您的代碼的評論:無需創建新的「YT.Player」對象。你可以在現有的'YT.Player'對象上調用'loadVideo()'方法。 – 2013-03-14 20:43:30