Javascript 布莱特科夫事件
我需要使用Brightcove API捕捉一个事件。当视频播放结束时,我执行一个函数。我遵循了网站上的API指南,但这是我第一次使用Brightcove,所以我有点困惑。这是我的密码:Javascript 布莱特科夫事件,javascript,api,brightcove,Javascript,Api,Brightcove,我需要使用Brightcove API捕捉一个事件。当视频播放结束时,我执行一个函数。我遵循了网站上的API指南,但这是我第一次使用Brightcove,所以我有点困惑。这是我的密码: <script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script> <ob
<script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>
<object id="myExperience1537710931001" class="BrightcoveExperience">
<param name="bgcolor" value="#FFFFFF" />
<param name="width" value="764" />
<param name="height" value="455" />
<param name="playerID" value="1537479248001" />
<param name="playerKey" value="AQ~~,AAABZfMS9tk~,qKtLVPwo3pzgDkN5hMeILjqzKpujZdaw" />
<param name="isVid" value="true" />
<param name="isUI" value="true" />
<param name="dynamicStreaming" value="true" />
<param name="includeAPI" value="true" />
<param name="templateLoadHandler" value="myTemplateLoaded" />
<param name="templateReadyHandler" value="onTemplateReady" />
<param name="@videoPlayer" value="1537710931001" />
</object>
<script type="text/javascript">
var player;
var modVP;
var modExp;
var modCon;
function myTemplateLoaded(experienceID) {
player = brightcove.api.getExperience(experienceID);
modVP = player.getModule(brightcove.api.modules.APIModules.VIDEO_PLAYER);
modExp = player.getModule(brightcove.api.modules.APIModules.EXPERIENCE);
modCon = player.getModule(brightcove.api.modules.APIModules.CONTENT);
modExp.addEventListener(brightcove.api.events.ExperienceEvent.TEMPLATE_READY, onTemplateReady);
}
function onTemplateReady(evt) {
modVP.addEventListener(brightcove.api.events.MediaEvent.BEGIN, onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.CHANGE, onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.COMPLETE, onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.ERROR, onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.PLAY, onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.PROGRESS, onMediaProgressFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.STOP, onMediaEventFired);
}
function onMediaEventFired(evt) {
if (evt.type === brightcove.api.events.MediaEvent.STOP) {
alert('Hello!!!!');
}
}
</script>
var播放器;
var-modVP;
var-modExp;
var modCon;
函数myTemplateLoaded(experienceID){
player=brightcove.api.getExperience(experienceID);
modVP=player.getModule(brightcove.api.modules.apimules.VIDEO_player);
modExp=player.getModule(brightcove.api.modules.apimules.EXPERIENCE);
modCon=player.getModule(brightcove.api.modules.apimules.CONTENT);
modExp.addEventListener(brightcove.api.events.ExperienceEvent.TEMPLATE_READY,onTemplateReady);
}
功能onTemplateReady(evt){
modVP.addEventListener(brightcove.api.events.MediaEvent.BEGIN,onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.CHANGE,onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.COMPLETE,onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.ERROR,onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.PLAY,onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.PROGRESS,onMediaProgressFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.STOP,onMediaEventFired);
}
函数onMediaEventFired(evt){
if(evt.type==brightcove.api.events.MediaEvent.STOP){
警惕(“你好!!!!”);
}
}
不确定我做错了什么,但当视频播放结束时,警报不会显示。有什么想法吗
谢谢Mauro如果你换下球员,回叫会起作用。这表明您需要为指定的播放器启用API。这可以通过在Brightcove admin中编辑播放器设置来完成(http://support.brightcove.com/en/docs/editing-settings-players) 您可能还需要通过向flash对象添加参数来指定处理程序,例如
您还需要更改事件处理程序以测试事件对象类型
而不是数据
,如下所示:
function onMediaEventFired(evt) {
if (evt.type === brightcove.api.events.MediaEvent.COMPLETE) {
alert('Hello!!!!');
}
}
如果你把球员换出去,回叫就会起作用。这表明您需要为指定的播放器启用API。这可以通过在Brightcove admin中编辑播放器设置来完成(http://support.brightcove.com/en/docs/editing-settings-players) 您可能还需要通过向flash对象添加参数来指定处理程序,例如
您还需要更改事件处理程序以测试事件对象类型
而不是数据
,如下所示:
function onMediaEventFired(evt) {
if (evt.type === brightcove.api.events.MediaEvent.COMPLETE) {
alert('Hello!!!!');
}
}
我按照您的建议在播放器的设置中启用了API,但它不起作用。认为试图捕捉事件的最后一个函数有问题。函数onMediaEventFired(evt){…}我已经更新了我的答案,你必须计算事件类型,只有一些事件会有数据。我按照你的建议在播放器的设置中启用API,但它不起作用。认为试图捕捉事件的最后一个函数有问题。函数onMediaEventFired(evt){…}我已经更新了我的答案,您必须计算事件类型,只有一些事件会有数据。