我一直工作在相当类似的事情,我已经决定使用iframe的API https://developers.google.com/youtube/iframe_api_reference与自定义播放器去删除默认的铬,这使他们向前跳过。
// api has been loaded
function onYouTubeIframeAPIReady(){
var player = new YT.Player(el, {
videoId: video_id,
width: 700,
playerVars: {
controls: 0,
modestbranding: 1,
rel: 0
},
events: {
onStateChange: function(d){
switch(d.data){
case YT.PlayerState.ENDED:
// send notification of video ended
}
}
}
});
}
// async load of api
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
当youtube api被完全加载并设置iframe播放器时,该函数被调用。 el
是要替换视频的dom对象,video_id
是您想要加载的视频的ID。 controls: 0
是隐藏玩家镶边的魔法位。然后在onStateChange
函数中,您可以发送ajax请求,或更改您的布局或视频结尾处需要做的任何操作。
这对你的用户来说是一件残酷的事情,但我想你可以在下面的视频中加入链接,将其视为每个视频结尾处可怕的可点击注释之一? – meagar
我其实写了类似的音频文件。你应该看看写一个自定义的JavaScript HTML视频播放器或Flash视频播放器。 –
@meagar - 我需要根据视频是否被观看来分配角色,所以我需要服务器本身能够被告知事件。 – beth