我一直工作在相當類似的事情,我已經決定使用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