brightcove loadVideoById什么都不做

时间:2014-09-17 18:01:18

标签: javascript brightcove

我正在尝试创建一个brightcove视频播放器来播放约5个视频。我已经创建了这样的播放器:

<script language="JavaScript" type="text/javascript"       src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>
<object id="myExperience3775330164001" class="BrightcoveExperience">
    <param name="bgcolor" value="#FFFFFF" />
    <param name="playerID" value="2805093005001" />
    <param name="playerKey" value="AQ~~,AAABnWrZY8k~,bg2iiZ4K32IcUpn85Gn5TF9lWzVxKnlO" />
    <param name="isVid" value="true" />
    <param name="isUI" value="true" />
    <param name="dynamicStreaming" value="true" />
    <param name="@videoPlayer" value="3775330164001" />
    <param name="wmode" value="transparent" />
    <!-- smart player api params -->
    <param name="includeAPI" value="true" />
    <param name="templateLoadHandler" value="onTemplateLoad" />
    <param name="templateReadyHandler" value="onTemplateReady" />
    <param name="templateErrorHandler" value="onTemplateError" />
</object>

<script type="text/javascript">brightcove.createExperiences();</script>

然后我试图通过调用loadVideoByID(12345)来替换视频......这是一个单独的js文件。

var player,
APIModules,
videoPlayer;

function onTemplateLoad(experienceID){
 player = brightcove.api.getExperience(experienceID);
 APIModules = brightcove.api.modules.APIModules;
 console.log("template loaded...");
}

function onTemplateReady(evt){
 videoPlayer = player.getModule(APIModules.VIDEO_PLAYER);
 console.log("template ready...");
}

$( document ).ready(function(){

// this script switches videos when 

    $( '.mlink').on("click", ".choose-video", function(event){

            event.preventDefault();
            $id = $(this).data("id");
            //console.log($id);
            switchvids($id, videoPlayer);

    });
});

var switchvids = function(id, vidplayer){
  console.log(id);
  console.log(vidplayer);
  try{
    vidplayer.loadVideoByID(id);
}
catch(error){
    console.log(error);
}

};

当调用我的switchvids函数时,没有任何反应。没有视频启动,没有js错误。控制台显示正确的ID,并显示vidplayer是一个brightcove.api.modules.VideoPlayerModule。在网络面板中,我看到一个POST请求转到http://c.brightcove.com/services/messagebroker/amf?playerKey=AQ~~,AAABnWrZY8k~,bg2iiZ4K32IcUpn85Gn5TF9lWzVxKnlO并且响应返回但是它是Content-Length:26。这是某种失败的握手吗?以前有人见过这样的事吗?我唯一不确定的是视频ID。我从brightcove文档中删除了id。我不知道这是否是导致问题的原因。如果我试图使用我无权使用的视频,我认为有效载荷会包含错误消息。我的客户还没有向我提供使用的ID。

1 个答案:

答案 0 :(得分:0)

如果使用了无效的ID,则

loadVideoByID()会返回false。它不会引发错误。