0

I'm trying to load movie trailers in my IOS AIR app. It works fine when I'm trying on my computer but the video won't play on an Apple device.

On my computer, the video is playing but this message is display in the output :

*** Security Sandbox Violation ***
SecurityDomain 'https://s.ytimg.com/yts/swfbin/player-vflm0X9AB/watch_as3.swf' tried to access incompatible context 'app:/Iphone3.swf'

Warning: Domain i.ytimg.com does not explicitly specify a meta-policy, but Content-Type of policy file https://i.ytimg.com/crossdomain.xml is 'text/x-cross-domain-policy'.  Applying meta-policy 'by-content-type'.

Here's my code :

urlTrailer = "https://www.youtube.com/v/"+item.trailer+"?gl=BE&version=3";
// item.trailer is the videoID of the YoutubeVideo

function showTrailer():void {
    var loader:Loader = new Loader();
     var player:Object;

loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
loader.load(new URLRequest(urlTrailer));

function onLoaderInit(event:Event):void {
    addChild(loader);
    loader.content.addEventListener("onReady", onPlayerReady);
    loader.content.addEventListener("onError", onPlayerError);
    loader.content.addEventListener("onStateChange", onPlayerStateChange);
    loader.content.addEventListener("onPlaybackQualityChange", 
        onVideoPlaybackQualityChange);
}

function onPlayerReady(event:Event):void {
    // Event.data contains the event parameter, which is the Player API ID 
    trace("player ready:", Object(event).data);

    player = loader.content;
    player.y=200;
    player.setSize(480, 360);

}

I've tried to add in my xml file :

<cross-domain-policy>
  <allow-access-from domain="*"/>
</cross-domain-policy>

But I still have the error Security Sandbox Violation

What do you think could be the problem and how can I solve it ?

user5870211
  • 103
  • 8

1 Answers1

0

Try something like this below : (if it doesn't work then try my other Answer code link)

function onLoaderInit(event:Event):void 
{
    //addChild(loader);
    loader.content.addEventListener("onReady", onPlayerReady);
    loader.content.addEventListener("onError", onPlayerError);
    loader.content.addEventListener("onStateChange", onPlayerStateChange);
    loader.content.addEventListener("onPlaybackQualityChange", 
    onVideoPlaybackQualityChange);

}

function onPlayerReady(event:Event):void 
{
    // Event.data contains the event parameter, which is the Player API ID 
    trace("player ready:", Object(event).data);

    player = loader.content;
    player.y=200;
    player.setSize(480, 360);

    //# Alt method for adding to stage...
    //loader.width = 320; loader.height = 240;
    //loader.x = 30; loader.y = 100;

    addChild(loader);

}
Community
  • 1
  • 1
VC.One
  • 14,790
  • 4
  • 25
  • 57