Шаблон видео BrightcoveLoadHandler не стреляет
Ну, я весь день боролся с API BrightCove, и я действительно не понимаю, что пошло не так.
Я следовал всем рекомендациям Brightcove и включил API Java для Smart Player. Но 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>
Если событие сработало, появится предупреждение. Но никогда... Кто-нибудь знает, почему это не работает? Благодарю.
5 ответов
Я запустил ваш код без jquery и jBrightcove.js (так как у меня их нет). Работало нормально. Если это не работает для вас, я думаю, что есть конфликт между чем-то в скрипте jBrightcove.js и вашим кодом здесь.
Вы пытались переместить свой обработчик над кодом 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>
Убедитесь, что в Brightcove у вас включен API SmartPLayer для каждого из ваших типов игроков. templateLoadHandler и templateReadyHandler не будут срабатывать без изменения этого параметра на панели Brightcove.
Для новичков, у которых такая же упрямая проблема: это рабочая демоверсия, обрежьте ее и посмотрите, что работает для вас.
PS, источник отсутствующего скрипта в демоверсии должен быть: http://docs.brightcove.com/en/scripts/secondsToTime.js
В этом случае, похоже, у Алекса был неправильный тип учетной записи. Это был не тот случай для меня. Я нашел на форуме светлой бухты, что код должен быть запущен с веб-сервера. После того, как я добавил код с сайта в мою локальную установку XAMPP, он работал так, как рекламируется. Вот URL, где я нашел информацию:
http://forum.brightcove.com/t5/Media-APIs/templateLoadHandler-not-fired/td-p/19585