我正试图以静默的方式播放YouTube视频。然后,当用户单击暂停时,重新启动视频并以完整音量播放。
这是我采取的方法。
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
)。
这是自然还是仅仅是我。我觉得“暂停”是不是感觉到了?
你采取了类似的方法吗?我能知道你做了什么吗?
提前致谢。
答案 0 :(得分:1)
在结束状态之前关闭暂停状态是非常标准的。只要我记得,它就一直在发生。但不能保证永远保持这种状态。