2012-08-08 41 views
-1

我能够播放获取myTemplateLoaded上的警报并获得第一个视频的工作,但之后它不会推进到下一个视频...请能有更多经验的人帮腔??我会非常感谢!用于Brightcove视频云的Javascript

<!-- 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> 
+0

我有一个新的更新上面的问题...代码现在在jsfiddler工作,但不是在本地的浏览器...任何想法? (http://jsfiddle.net/ZHhKU/) – ristenk1 2012-08-08 18:35:50

回答

0

如果从文件系统本地运行,Brightcove API将不起作用。正如您在使用jsfiddle时所做的那样,从Web服务器运行代码。

0

您也可以在Mac上使用MAMP在本地测试您的页面。只要确保将您的HTML文件保存到MAMP偏好设置的“Apache”选项卡中指定为文档根目录的文件夹中即可。您还应该在“端口”标签中“设置为默认的Apache和MySQL端口”。

http://www.mamp.info/en/index.html