0

这是我的javascript代码

$('.vdo_player1').html("<object id='myExperience185592012001' class='BrightcoveExperience'> <param name='bgcolor' value='#FFFFFF' /><param name='width' value='624' /> <param name='height' value='330' /><param name='playerID' value='1917830444001' /><param name='playerKey' value='AQ~~,AAABrLPpvnk~,7Q4Wbq_wEtPqLNVzhMk5nzVfbE6a6vSo' /> <param name='isVid' value='true' /><param name='isUI' value='true' /> <param name='dynamicStreaming' value='true' /> <param name='@videoPlayer' value='2045929343433301' /> </object> <script type='text/javascript'>brightcove.createExperiences();</script>");

视频正在正确显示。但我需要跟踪视频何时结束并基于它调用 struts 2 动作类。我该怎么做?

4

2 回答 2

3

虽然 user1190992 的答案适用于 Flash 播放器,但它不适用于 HTML5 播放器,因为它使用较旧的 Flash-only Player API。您应该使用适用于 Flash 和 HTML5 播放器的 Brightcove 的 Smart Player API。

首先为您正在使用的播放器启用 API(在 Video Cloud Studio 中,播放器设置)。

向您的播放器代码添加一些附加参数以启用 API。

<param name="includeAPI" value="true" /> 
<param name="templateLoadHandler" value="onTemplateLoaded" /> 
<param name="templateReadyHandler" value="onTemplateReady" /> 

添加 javascript 以设置事件侦听器

var player, modVP;

function onTemplateLoaded(experienceID) {
  player = brightcove.api.getExperience(experienceID);
  modVP = player.getModule(brightcove.api.modules.APIModules.VIDEO_PLAYER);
}

function onTemplateReady(evt) {
  modVP.addEventListener(brightcove.api.events.MediaEvent.COMPLETE, onComplete);
}

function onComplete(evt) {
  alert("Video ended");
}

另请参阅 Brightcove 的文档:http: //support.brightcove.com/en/video-cloud/docs/listening-events-using-smart-player-api

注意:此答案和问题是指 Brightcove 的旧版智能播放器,这不适用于当前播放器版本

于 2013-02-06T17:05:29.700 回答
0

使用API,您可以编写如下函数

<script type="text/javascript">

   var bcExp;
   var modVP;

   function onTemplateLoaded(experienceID) {
       bcExp = brightcove.getExperience(experienceID);
       modVP = bcExp.getModule(APIModules.VIDEO_PLAYER);
       modVP.addEventListener(BCMediaEvent.COMPLETE, my_function);
   }

   function my_function(event) {
       /* DO YOUR STUFF IN HERE */
   }

</script> 
于 2013-02-05T22:25:05.617 回答