我使用的是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>有没有办法管理多个玩家?
发布于 2013-09-24 00:18:56
许多使用Smart Player 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)})请看this example,它使用了上面的一些技术,这是一个在一个玩家玩的时候停止其他玩家的例子。
https://stackoverflow.com/questions/18916043
复制相似问题