Brightcove two players API
Brightcove two players API
我正在使用 brightcove api,如指南所示(如下所示),但我的问题是我无法以这种方式管理两个玩家,我需要它:
<object id="VideoBrightcove?c=4&m=2&s=2" class="BrightcoveExperience">
<param name="bgcolor" value="#FFFFFF" />
<param name="width" value="480" />
<param name="height" value="270" />
<param name="playerID" value="2549948545001" />
<param name="playerKey" value="AQ~~,AAABmA9XpXk~,-Kp7jNgisreVadKjzdyJfLcfukyXcGqB" />
<param name="isVid" value="true" />
<param name="isUI" value="true" />
<param name="dynamicStreaming" value="true" />
<param name="includeAPI" value="true" />
<param name="templateLoadHandler" value="BCLS.onTemplateLoad" />
<param name="templateReadyHandler" value="BCLS.onTemplateReady">
<param name="@videoPlayer" value="1754261637001" />
</object>
<script>
var BCLS = (function() {
var player,APIModules,mediaEvent,videoPlayer;
return {
onTemplateLoad : function (experienceID) {
//do something
},
onTemplateReady : function (evt) {
//do something
},
onProgress : function (evt) {
//do something
},
onBegin : function (evt) {
//do something
},
onComplete : function (evt) {
//do something
}
}
}());
</script>
知道管理多个玩家吗?
使用智能播放器 API 的许多代码示例都使用全局变量,或者正如我假设的那样,BCLS.player
用于"体验",BCLS.videoPlayer
用于视频播放器模块等。这不适用于多个玩家,除非您为每个玩家维护一组单独的加载/就绪处理程序函数和一组单独的变量。这不会很好地扩展。
使用多个玩家的最简单方法是依赖传递给事件处理程序的事件,因为这包括 event.target.experience.id
处的玩家 ID。
function onTemplateReady(event) {
var player = brightcove.api.getExperience(event.target.experience.id);
var videoPlayer = player.getModule(brightcove.api.modules.APIModules.VIDEO_PLAYER);
}
使用 addEventHandler 时,您需要将函数包装在匿名函数中,而不是仅使用函数名称:
videoPlayer.addEventListener(brightcove.api.events.MediaEvent.PLAY, function(event) {onPlay(event)})
//instead of videoPlayer.addEventListener(brightcove.api.events.MediaEvent.PLAY, onPlay})
如果需要,您可以将其他模块等传递给这些函数,例如,如果在上面的onTemplateReady
中完成此操作,则可以在播放器处理程序中使用player
:
videoPlayer.addEventListener(brightcove.api.events.MediaEvent.PLAY, function(event) {onPlay(event,player)})
请参阅此示例,该示例使用了上述一些技术,这是在玩游戏时停止其他玩家的示例。
相关文章:
- 如何更改bigquery API中的计费层选项
- Amazon S3 REST API大小不正确
- 客户端服务器REST API captcha实现
- 使用Facebook live API创建实时视频对象时的隐私设置
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- API密钥使用和检查示例
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- 谷歌地图JS API+JSON-多个标记没有显示
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 如何在 API 调用后和 if 语句中启用提交按钮
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 搜索api在mac上显示对话框
- Backbone.js restful json API design
- 标记的实时更新,无需加载页面谷歌地图API V3
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- 对API数据使用声明性绑定
- Brightcove two players API