这是我的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动作类。我该怎么办?
答案 0 :(得分:3)
虽然user1190992的答案适用于Flash播放器,但它不适用于HTML5播放器,因为它使用较旧的Flash-only Player API。您应该使用Brightcove的Smart Player API,它适用于Flash和HTML5播放器。
首先为您正在使用的播放器启用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的传统智能播放器,这不适用于当前的播放器版本
答案 1 :(得分: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>