Ну, так как никто не знает или не хочет отвечать, ..
Согласно веб-сайту MediaElement.JS , скоро будет учебник по построллам.Всякий раз, когда это произойдет (или если я начну работать над этим ActionScript до этого), я выложу здесь предварительную версию.
ОБНОВЛЕНИЕ:
В конце концов, мы просто выяснили это,Есть несколько вещей, которые необходимо добавить в Media Element, особенно в файле FlashMediaElement.as
.
Первый шаг - это загрузить и установить компонент Google IMA ActionScript 3.
Далее открытьFlashMediaElement.fla
и FlashMediaElement.as
в папке \ src \ flash \ MediaElement.
В файле .FLA необходимо добавить компонент Google IMA на сцену, а затем настроить тег preroll для любого URL-адреса.Это просто делает это поле доступным в области .as.
Наконец, приступите к интеграции Google IMA, добавив следующие свойства в класс FlashMediaElement в файле .AS:
// Google Ad Object
private var ads:Object;
private var ad:Object = {
type:'',
url:''
};
private var episodeData:Object = {
pre:ad, post:ad,
video:'',
pageTitle:'',
title:'',
source:''
};
Далее перейдите к конструктору, public function FlashMediaElement() {
и установите значениядля episodeData.Есть несколько способов, которыми вы можете захотеть заполнить их динамически.В этом примере используются простые flashvars, добавленные в тех местах, где вы видите mediaelement.swf в HTML или JS, используйте mediaelement.swf? Title = YourTitle и т. Д.
// get parameters
var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
//Media Element Params start here
.
.
.
customVariable = (params['customVariable'] != undefined) ? (String(params['customVariable']) : "DefaultStringValue";
В конце конструктора все, что вам нужноdo is call addEventListener(Event.ADDED_TO_STAGE, initialize);
Наконец, последний шаг - поместить следующие функции из примера Google IMA в конец вашего класса FlashMediaElement.
private function initialize(event:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, initialize);
// videoComponent is the name of the Google In-Stream component instance
// on the stage.
log("component version: " + videoComponent.getVersion());
videoComponent.addEventListener("adStart", onAdStart);
videoComponent.addEventListener("adComplete", onAdComplete);
// Attach event listeners to the video component for access
// to the ads object. The ads object is used for various purposes
// such as resetting ads across multiple content pieces.
videoComponent.addEventListener("adsReady", onAdsReady);
videoComponent.addEventListener("error", onAdError);
// Attach event listener to the flvplayback component to listen to
// the content complete event.
_video.addEventListener("complete", onContentComplete);
}
private function onAdsReady(event:Object):void {
// Extract the ads object from the adsReady event which is later used to
// reset the ads.
// The adsReady event is fired when the ads requested through the
// component are initialized.
AdSlotSettings.prerollAdTag = episodeData.pre.url;
ads = event.getAds();
}
private function onContentComplete(event:Event):void {
log("Content complete");
if (ads) {
log("Resetting ads.");
ads.resetAds();
}
}
private function onAdStart(event:Object):void {
log("Ad has started.");
}
private function onAdComplete(event:Object):void {
log("Ad has completed.");
}
private function onAdError(event:Object):void {
log("Error occured while playing the ad. Error : "
+ event.getError().message);
}
private function log(msg:Object):void {
//textAreaLogger.appendText(msg + "\n");
}
textAreaLogger ссылается на динамический текстполе в примере Google.Чтобы немного отличаться от кода Google, вы можете изменить textAreaLogger
на _output
(и иногда установить debug = true в конструкторе), если вы хотите использовать встроенное в MediaElement текстовое окно отладки.
Вот и все;Google IMA предварительно и построллирует.