Javascript Ooyala播放器事件-当播放器到达视频的某个点时发出通知
我已经深入研究了Ooyala播放器JS API,搜索当当前正在播放的视频达到其长度的75%时会触发的事件 Ooyala提供了一种方法来查询某个视频的0%、25%、50%、75%和100%浏览量,但我找不到一种方法来做我想做的事情 我已经检查了所有的东西 以前有人经历过吗? 你知道还有什么可以帮助你的信息来源吗 提前谢谢Javascript Ooyala播放器事件-当播放器到达视频的某个点时发出通知,javascript,api,ooyala,Javascript,Api,Ooyala,我已经深入研究了Ooyala播放器JS API,搜索当当前正在播放的视频达到其长度的75%时会触发的事件 Ooyala提供了一种方法来查询某个视频的0%、25%、50%、75%和100%浏览量,但我找不到一种方法来做我想做的事情 我已经检查了所有的东西 以前有人经历过吗? 你知道还有什么可以帮助你的信息来源吗 提前谢谢 var videoPlayer = OO.Player.create('Player', embedcode, { autoplay: true, onCreat
var videoPlayer = OO.Player.create('Player', embedcode, {
autoplay: true,
onCreate: function (player) {
mesb = player.mb;
}
});
mesb.subscribe(OO.EVENTS.PLAYBACK_READY, 'example', _.bind(this.videoPlaying, this));
mesb.subscribe(OO.EVENTS.PLAYHEAD_TIME_CHANGED, 'example', _.bind(this.playheadTime, this));
function videoPlaying() {
var title, desc, embed, dur;
var vData = videoPlayer.getItem();
dur = vData.time;
}
function playheadTime() {
phPos = videoPlayer.getPlayheadTime();
if (phPos > 90) {
alert('you are 90 seconds in to the video!');
}
dur将为您提供视频的总时间。
phPos将为您提供当前播放头时间
你应该能够做的数学和视频触发一个行动,一旦达到一定的百分比。在我的示例中,我将一个警报设置为在视频达到90秒时关闭
I think this will work
var videoPlayer = OO.Player.create('Player', embedcode, {
autoplay: true,
onCreate: function (player) {
mesb = player.mb;
}
});
mesb.subscribe(OO.EVENTS.PLAYBACK_READY, 'example', _.bind(this.videoPlaying, this));
mesb.subscribe(OO.EVENTS.PLAYHEAD_TIME_CHANGED, 'example', _.bind(this.playheadTime, this));
function videoPlaying() {
var title, desc, embed, dur;
var vData = videoPlayer.getItem();
dur = vData.time;
}
function playheadTime() {
if((videoPlayer.getPlayheadTime())>= (videoPlayer.getDuration()*0.25)){
alert('play 25%')
}
if((videoPlayer.getPlayheadTime())>= (videoPlayer.getDuration()*0.50)){
alert('play 50%')
}
if((videoPlayer.getPlayheadTime())>= (videoPlayer.getDuration()*0.75)){
alert('play 75%')
}
if((videoPlayer.getPlayheadTime())>= (videoPlayer.getDuration()*1.00)){
alert('play 100%')
}
}
dur将为您提供视频的总时间。
phPos将为您提供当前播放头时间
你应该能够做的数学和视频触发一个行动,一旦达到一定的百分比。在我的示例中,我设置了一个警报,当视频达到90秒时,警报将熄灭。前面的答案中提供的代码对我有所帮助,但需要一些修改。需要将其包装在
OO.ready
中,并进行修改,以使代码准确调用4次:完成25%、50%、75%和100%
I think this will work
var videoPlayer = OO.Player.create('Player', embedcode, {
autoplay: true,
onCreate: function (player) {
mesb = player.mb;
}
});
mesb.subscribe(OO.EVENTS.PLAYBACK_READY, 'example', _.bind(this.videoPlaying, this));
mesb.subscribe(OO.EVENTS.PLAYHEAD_TIME_CHANGED, 'example', _.bind(this.playheadTime, this));
function videoPlaying() {
var title, desc, embed, dur;
var vData = videoPlayer.getItem();
dur = vData.time;
}
function playheadTime() {
if((videoPlayer.getPlayheadTime())>= (videoPlayer.getDuration()*0.25)){
alert('play 25%')
}
if((videoPlayer.getPlayheadTime())>= (videoPlayer.getDuration()*0.50)){
alert('play 50%')
}
if((videoPlayer.getPlayheadTime())>= (videoPlayer.getDuration()*0.75)){
alert('play 75%')
}
if((videoPlayer.getPlayheadTime())>= (videoPlayer.getDuration()*1.00)){
alert('play 100%')
}
}
var mplayer, mesb, dur, title;
OO.ready(function() {
var lastTriggerPos;
mplayer = OO.Player.create('ooyalaplayer', embedcode);
mplayer.mb.subscribe(OO.EVENTS.PLAYBACK_READY, 'example', function(eventName) {
title = mplayer.getCurrentItemTitle();
var vData = mplayer.getItem();
dur = parseInt(vData.time);
});
mplayer.mb.subscribe(OO.EVENTS.PLAYHEAD_TIME_CHANGED, 'example', function(eventName) {
phPos = parseInt(mplayer.getPlayheadTime());
if ((phPos == parseInt(dur * 0.25)) && phPos != lastTriggerPos) {
lastTriggerPos = phPos;
alert('25%');
}
if ((phPos == parseInt(dur * 0.50)) && phPos != lastTriggerPos) {
lastTriggerPos = phPos;
alert('50%');
}
if ((phPos == parseInt(dur * 0.75)) && phPos != lastTriggerPos) {
lastTriggerPos = phPos;
alert('75%');
}
if ((phPos == parseInt(dur * 1)) && phPos != lastTriggerPos) {
lastTriggerPos = phPos;
alert('100%');
}
});
});
前面答案中提供的代码对我有所帮助,但需要一些修改。需要将其包装在
OO.ready
中,并进行修改,以使代码准确调用4次:完成25%、50%、75%和100%
var mplayer, mesb, dur, title;
OO.ready(function() {
var lastTriggerPos;
mplayer = OO.Player.create('ooyalaplayer', embedcode);
mplayer.mb.subscribe(OO.EVENTS.PLAYBACK_READY, 'example', function(eventName) {
title = mplayer.getCurrentItemTitle();
var vData = mplayer.getItem();
dur = parseInt(vData.time);
});
mplayer.mb.subscribe(OO.EVENTS.PLAYHEAD_TIME_CHANGED, 'example', function(eventName) {
phPos = parseInt(mplayer.getPlayheadTime());
if ((phPos == parseInt(dur * 0.25)) && phPos != lastTriggerPos) {
lastTriggerPos = phPos;
alert('25%');
}
if ((phPos == parseInt(dur * 0.50)) && phPos != lastTriggerPos) {
lastTriggerPos = phPos;
alert('50%');
}
if ((phPos == parseInt(dur * 0.75)) && phPos != lastTriggerPos) {
lastTriggerPos = phPos;
alert('75%');
}
if ((phPos == parseInt(dur * 1)) && phPos != lastTriggerPos) {
lastTriggerPos = phPos;
alert('100%');
}
});
});