2012-05-30 2 views
3

ну, я боролся с API BrightCove на весь день, и я действительно не понимаю, что пошло не так.Яркий видеоролик шаблонаLoadHandler не стрелял

Я следил за всеми яркими значками, и активировал javascript api для смарт-плеера. Но templateLoadHandler просто не стреляет. Это действительно заставляет меня сходить с ума!

Это мой код

<!doctype html> 
<html> 
<head> 
<title>Brightcove video API demo</title> 
<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="jBrightCove.js"></script> 
</head> 

<body> 

    <h2>Brightcove Video Cloud Demo</h2> 


    <!-- Start of Brightcove Player --> 

    <div style="display:none"> 

    </div> 

    <!-- 
    By use of this code snippet, I agree to the Brightcove Publisher T and C 
    found at https://accounts.brightcove.com/en/terms-and-conditions/. 
    --> 

    <script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script> 

    <object id="myExperience1655503405001" class="BrightcoveExperience"> 
     <param name="bgcolor" value="#FFFFFF" /> 
     <param name="width" value="480" /> 
     <param name="height" value="270" /> 
     <param name="playerID" value="1655260200001" /> 
     <param name="playerKey" value="AQ~~,AAABgXJq-HE~,N7Kwgwyc9ubOnOKgNwEM8Jm-tJbp_nzt" /> 
     <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> 

    <script type="text/javascript"> 
    // this piece of code is from BrightCove template 

    var player; 

    var modVP; 
    var modExp; 
    var modCon; 
    //// 




    // 
    function myTemplateLoaded(experienceID) { 
     alert("123"); 
     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); 

    } 
</script> 

</body> 
</html> 

Если событие происходит, то предупреждение будет видно. Но никогда ... Кто-нибудь знает, почему он не работает? Благодарю.

+1

Включена ли ваша учетная запись для API? – dongshengcn

+0

Загружает и воспроизводит видео, как ожидалось? – jimbojw

+0

@jimbojw Я тестировал, и видео загружалось и воспроизводилось так, как ожидалось. – dongshengcn

ответ

1

Я запустил ваш код без jquery и jBrightcove.js включает (поскольку у меня их нет). Он работал нормально. Если это не работает для вас, я бы предположил, что есть столкновение между чем-то в скрипте jBrightcove.js и вашим кодом здесь.

+0

Я тоже попробовал, и ваш обработчик работает нормально. – jco

1

Вы пробовали переместить обработчик над кодом HTML? Это сработало для меня. Кроме того, мне пришлось добавить файл «crossdomain.xml» в свой корень веб-сервера, чтобы он работал. Возможно, вам это не понадобится, но на всякий случай.

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 


<!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html --> 

<!-- Most restrictive policy: --> 
    <allow-access-from domain="admin.brightcove.com"/> 


<!-- Least restrictive policy: --> 
<!-- 
    <site-control permitted-cross-domain-policies="all"/> 
    <allow-access-from domain="*" to-ports="*" secure="false"/> 
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/> 
--> 
<!-- 
    If you host a crossdomain.xml file with allow-access-from domain="*" 
    and don’t understand all of the points described here, you probably 
    have a nasty security vulnerability. ~ simon willison 
--> 

</cross-domain-policy> 
0

В этом случае, похоже, у Алекса был неправильный тип учетной записи. Это было не для меня. Я нашел на форуме яркой свечи, что код должен запускаться с веб-сервера. После того, как я добавил код с сайта на мою локальную установку XAMPP, он работал как рекламируемый. Вот URL, где я нашел информацию:

http://forum.brightcove.com/t5/Media-APIs/templateLoadHandler-not-fired/td-p/19585

0

Для поздних пришельцев, которые имеют те же самые упорные проблемы: this это работает демо, обрезать его и посмотреть, что работает для вас.

PS, то ГКЗ отсутствующего сценария в демо должно быть: http://docs.brightcove.com/en/scripts/secondsToTime.js

0

Убедитесь в Brightcove у вас есть SmartPLayer API, включен для каждого из типов игроков. templateLoadHandler и templateReadyHandler не будут запускаться без изменения этой настройки на панели Brightcove.

Смежные вопросы