Brightcove视频云的Javascript

Brightcove视频云的Javascript,javascript,html5-video,dom-events,brightcove,Javascript,Html5 Video,Dom Events,Brightcove,我可以播放“获取警报以在myTemplateLoaded上工作”和“获取第一个视频以工作”,但之后它不会前进到下一个视频。。。请有经验的人插话好吗?我将非常感激 <!-- Start of Brightcove Player --> <div style="display:none"> </div> <script language="JavaScript" type="text/javascript&q

我可以播放“获取警报以在
myTemplateLoaded
上工作”和“获取第一个视频以工作”,但之后它不会前进到下一个视频。。。请有经验的人插话好吗?我将非常感激

<!-- Start of Brightcove Player -->
<div style="display:none"> </div>
<script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>
<object id="myExperience1116920512001" class="BrightcoveExperience" >
<param name="bgcolor" value="#FFFFFF" />
<param name="width" value="480" />
<param name="height" value="270" />
<param name="playerID" value="1186083953001" />
<param name="playerKey" value="AQ~~,AAAAwFCyREk~,R6fcmQA_ySLOTNBFvZ0mjvLcTW-_NNbL" />
<param name="isVid" value="true" />
<param name="isUI" value="true" />
<param name="dynamicStreaming" value="true" />
<param name="@videoPlayer" value="ref:spring" />
<param name="includeAPI" value="true" />
<param name="templateLoadHandler" value="myTemplateLoaded" />
</object>

<!-- End of Brightcove Player -->

<script type="text/javascript">
var player;
var modVP;
var modExp;
var modCon;
var previousVideoID=0;
var nextVideo=0;
var videos=new Array(1772963843001,1765076426001,17490792490011);
function myTemplateLoaded(experienceID) {
// alert(experienceID);
player = brightcove.api.getExperience(experienceID);
modVP = player.getModule(brightcove.api.modules.APIModules.VIDEO_PLAYER);
modExp = player.getModule(brightcove.api.modules.APIModules.EXPERIENCE);
modCon = player.getModule(brightcove.api.modules.APIModules.CONTENT);
modVP.loadVideoByID(videos[nextVideo]);
modExp.addEventListener(brightcove.api.events.ExperienceEvent.TEMPLATE_READY, onTemplateReady);
}

function onTemplateReady(evt) {
modVP.addEventListener(brightcove.api.events.MediaEvent.COMPLETE, onMediaComplete);
modVP.addEventListener(brightcove.api.events.MediaEvent.CHANGE, onMediaChange);
}

function onMediaComplete() {
nextVideo++;
if (nextVideo==videos.length) {
nextVideo=0;
}
modVP.loadVideoByID(videos[nextVideo]);
}

function getCurrentVideoCallback(currentVideo) {
document.getElementById("currentVideoInfo").innerHTML = "Video named '" + currentVideo.displayName + "' loaded. Video ID: " + currentVideo.id;
}

function onMediaChange(evt) {
document.getElementById("mediaInfo").innerHTML = "NOW PLAYING: " + evt.media.displayName;
}
</script>

var播放器;
var-modVP;
var-modExp;
var modCon;
var-previousVideoID=0;
var nextVideo=0;
var视频=新阵列(17729638430011765076462600117490792490011);
函数myTemplateLoaded(experienceID){
//警惕(经验ID);
player=brightcove.api.getExperience(experienceID);
modVP=player.getModule(brightcove.api.modules.apimules.VIDEO_player);
modExp=player.getModule(brightcove.api.modules.apimules.EXPERIENCE);
modCon=player.getModule(brightcove.api.modules.apimules.CONTENT);
modVP.loadVideoByID(视频[nextVideo]);
modExp.addEventListener(brightcove.api.events.ExperienceEvent.TEMPLATE_READY,onTemplateReady);
}
功能onTemplateReady(evt){
modVP.addEventListener(brightcove.api.events.MediaEvent.COMPLETE,onMediaComplete);
modVP.addEventListener(brightcove.api.events.MediaEvent.CHANGE,onMediaChange);
}
函数onMediaComplete(){
nextVideo++;
if(nextVideo==videos.length){
nextVideo=0;
}
modVP.loadVideoByID(视频[nextVideo]);
}
函数getCurrentVideoCallback(currentVideo){
document.getElementById(“currentVideoInfo”).innerHTML=“视频名称””+currentVideo.displayName+“”已加载。视频ID:“+currentVideo.ID;
}
关于Mediachange(evt)的函数{
document.getElementById(“mediaInfo”).innerHTML=“正在播放:”+evt.media.displayName;
}

如果从文件系统本地运行,Brightcove API将无法工作。从web服务器运行代码,就像使用JSFIDLE时一样。

您还可以在mac上使用MAMP在本地测试页面。只需确保将HTML文件保存到MAMP首选项的“Apache”选项卡中指定为文档根的文件夹中。您还应该在“端口”选项卡中“设置为默认Apache和MySQL端口”


您还可以在Brightcove自身内部的播放器界面中调整设置。您可以在播放器设置中选择,在第一个视频加载完成后开始下一个视频,然后只需输入嵌入代码


我对上述问题有一个新的更新。。。代码现在可以在jsfiddler中工作,但不能在浏览器中本地工作。。。有什么想法吗?()