gpt4 book ai didi

javascript - Brightcove 两个播放器 API

转载 作者:行者123 更新时间:2023-11-29 22:09:23 24 4
gpt4 key购买 nike

我正在按照指南(如下)使用 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>

有管理多个玩家的想法吗?

最佳答案

您将使用 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它使用了上面的一些技术,这是一个在一个玩家玩的时候停止其他玩家的例子。

关于javascript - Brightcove 两个播放器 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18916043/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com