Closed ismail-majid closed 7 years ago
I am still waiting for any suggestion on this issue. I will be grateful, if anyone can suggest me anything.
Could you post your player config?
I am attaching the front end flow player implementation, where I am using the swf generated from above script.
Change the file externsion to rar from png. Thank You.
I am still waiting for response on this.
Well, you've probably noticed that Google has killed support for IMAv2, so this is rather untestable now :disappointed: If you'd like to try your hand at getting this working for IMAv3, I'm happy to entertain pull requests.
In your test, though, there were a few issues. Your config should look like this:
flowplayer("player", "flowplayer.commercial-"+version+".swf", {
log: {
level: 'error',
filter:'*'
},
plugins: {
ima: {
url: "flowplayer.ima-3.2.7.swf"
}
},
playlist: [
{
provider: 'ima',
url: url
}
]
});
There should be no mention of scheduling or anything of the like with the plugin.
For now, you might want to give Flowplayer HTML5 Ads a look: http://demos.flowplayer.org/ads/videoad.html
Was this replicated or resolved ? I am facing similar issue in FP 6.
Skippable ad calls for ad EP once it is over and if it is filled with another ad, it plays twice.
I doubt this will ever be resolved. This uses Google's Flash IMA SDK v2, which was deprecated long ago. Even upgrading to v3 would be pointless since Google is going to deprecate their entire Flash IMA SDK on June 1, 2017 (https://developers.google.com/interactive-media-ads/docs/sdks/flash/quickstart).
I am facing following error on flow player 3.2.16
300: PLAYER INITIALIZATION FAILED: TYPEERROR: ERROR #1009
Below is my action-script source for flow player integration, I also get feedback that I am getting this error because of Error #2025: The supplied DisplayObject must be a child of the caller but I am not sure, how to address this.
/*
along with flowplayer-ima. If not, see http://www.gnu.org/licenses/. */ package com.iheart.ima {
import mx.events.FlexEvent;
import org.flowplayer.controller.VolumeController; import org.flowplayer.model.Clip; import org.flowplayer.model.ClipError; import org.flowplayer.model.ClipEvent; import org.flowplayer.model.ClipEventType; import org.flowplayer.model.DisplayProperties; import org.flowplayer.model.DisplayPropertiesImpl; import org.flowplayer.model.PluginEventType; import org.flowplayer.model.PluginModel; import org.flowplayer.util.Assert; import org.flowplayer.util.Log; import org.flowplayer.util.PropertyBinder; import org.flowplayer.view.Flowplayer;
import com.google.ads.ima.api.AdErrorEvent; import com.google.ads.ima.api.AdEvent; import com.google.ads.ima.api.AdError; import com.google.ads.ima.api.AdsLoader; import com.google.ads.ima.api.AdsManager; import com.google.ads.ima.api.AdsManagerLoadedEvent; import com.google.ads.ima.api.AdsRenderingSettings; import com.google.ads.ima.api.AdsRequest; import com.google.ads.ima.api.ViewModes; import com.google.ads.ima.api.AdErrorEvent; //import com.google.ads.ima.api.VideoAd; //import org.osmf.events.TimeEvent;
import flash.display.DisplayObject; import flash.display.MovieClip; import flash.display.Shape; import flash.display.Stage; import flash.media.Video; import flash.net.NetStream; import flash.net.URLLoader; import flash.net.URLRequest; import flash.utils.clearTimeout; import flash.utils.setTimeout; import flash.external.ExternalInterface;
import flash.events.Event; import flash.events.FullScreenEvent; import flash.events.MouseEvent; import flash.display.DisplayObjectContainer;
internal class AdPlayer { private var log:Log = new Log(this);
/**
/**
/**
/**
/**
/**
/**
/**
/**
private function volumeMutedHandler(event:FlexEvent):void { // Prevent video player from receiving the event, because it would affect // content. event.stopImmediatePropagation(); //_adsManager.volume = 0; }
private function volumeChangeHandler(event:Event):void { // Prevent video player from receiving the event, because it would affect // content. event.stopImmediatePropagation(); //_adsManager.volume = _player.volumeBar.value; }
private function set canScrub(value:Boolean):void { //_player.scrubBar.enabled = value; //_player.scrubBar.mouseEnabled = value; }
/**
private function contentPlayheadTimeChangeHandler(event:TimeEvent):void { contentPlayheadTime = event.time; }*/
private function fullscreenChangeHandler(event:FullScreenEvent):void { if (event.fullScreen) { _adsManager.resize(_player.panel.width, _player.panel.height, ViewModes.FULLSCREEN); } else { fullScreenExited = true; // Ads manager resize will occur after update complete. } }
/**
/**
private function contentCompleteHandler(event:TimeEvent):void { _player.stage.removeEventListener(FullScreenEvent.FULL_SCREEN, fullscreenChangeHandler); _player.removeEventListener(FlexEvent.UPDATE_COMPLETE, videoPlayerUpdateCompleteHandler); _player.removeEventListener(TimeEvent.COMPLETE, contentCompleteHandler); // Tell the SDK when any content completes, even content without ads. The // SDK uses this method for better ad selection (especially VMAP). adsLoader.contentComplete(); }*/ } }