2015-12-09 41 views
1

我想将事件附加到brightcove视频,但无法触发它。遵循Brightcove文档中的所有步骤。这里是我的代码:Brightcove attachevent失败

<script language="JavaScript" type="text/javascript" 
src="//sadmin.brightcove.com/js/BrightcoveExperiences.js"> 
</script> 
<object id="myExperience" class="BrightcoveExperience" style=""> 
<param name="bgcolor" value="#FFFFFF" /> 
<param name="width" value="100%" /> 
<param name="height" value="100%" /> 
<param name="wmode" value="transparent" /> 
<param name="playerID" value="3971645786001" /> 
<param name="playerKey" value="AQ~~%2CAAADnJnNnnk~%2CltuihYvDjRIrUSABF-AQVf9CGuEE1y7k" /> 
<param name="isVid" value="true" /> 
<param name="isUI" value="true" /> 
<param name="dynamicStreaming" value="true" /> 
<param name="secureConnections" value="true" /> 
<param name="secureHTMLConnections" value="true" /> 
<param name="@videoPlayer" value="${item.videoId}" /> 
<param name="includeAPI" value="true" /> 
<param name="templateLoadHandler" value="BCL.myTemplateLoaded" /> 
<param name="templateReadyHandler" value="BCL.onTemplateReady" />           
</object> 

<script type="text/javascript"> 
    //if (typeof brightcove != 'undefined') { 
     brightcove.createExperiences(); 
    //} 
</script> 

<script type="text/javascript"> 

var BCL = {}; 

BCL.myTemplateLoaded = function (experienceID) { 
console.log("loaded") 
BCL.player = brightcove.api.getExperience(experienceID); 
BCL.videoPlayer = BCL.player.getModule(  brightcove.api.modules.APIModules.VIDEO_PLAYER); 
BCL.APIModules = brightcove.api.modules.APIModules; 

} 
BCL.onTemplateReady = function (evt) { 
console.log("ready"); 
BCL.videoPlayer = BCL.player.getModule( brightcove.api.modules.APIModules.VIDEO_PLAYER); 
BCL.videoPlayer.addEventListener(brightcove.api.MediaEvent.PLAY, BCL.onMediaEventFired); 

} 

BCL.onMediaEventFired = function(evt) { 
console.log('evt'); 
} 
</script> 

上面的代码提供了控制台输出为“装载”,“准备”,但是当我点击播放按钮,播放时没有给出输出“EVT”。当视频开始播放时,我需要制作一些功能来停止轮播。

不知道我是否缺少任何东西。任何想法?

P.S.传送带中有多个视频(引导程序),每个视频ID都随着一个唯一的ID一起更改。

请建议。 谢谢 Ayush

回答

1

事件是brightcove.api.events.MediaEvent.PLAY,而不是brightcove.api.MediaEvent.PLAY

此外,此代码仅适用于通过HTTPS提供的页面。如果通过HTTP提供页面,则不应包含secureConnectionssecureHTMLConnections params--浏览器将阻止页面与Flash对象之间的通信破坏API。我不知道你使用的是HTTP还是HTTPS,但是注意到你使用了一个协议相对URL作为播放器脚本。

您可能还想考虑使用current version of Brightcove's player而不是此版本。

+0

谢谢Misterben ..它工作:) –