У меня есть приложение, и я хочу, чтобы у меня было столько FLV-плееров (чтобы проигрывать только одно видео каждый), сколько я хочу, контролируемых XML.Я контролирую некоторые переменные (цвет кожи, игрок x и y и т. Д.).Мой код работает, но с некоторыми проблемами, поэтому мне нужна помощь для оптимизации моего кода.Одна из проблем связана с полноэкранным видео, я помещаю одно видео в полноэкранный режим, а другое - в полноэкранный режим ... и другие проблемы с альфа-оболочкой, автозапуск тоже происходит.
Мой AS3
import fl.video.*;
import flash.events.ProgressEvent;
import fl.controls.ProgressBar;
import fl.controls.ProgressBarMode;
var my_videos:XMLList;
var my_total:Number;
var my_player:FLVPlayback;
var player_skin_color:Number;
var player_skin_alpha:Number;
var auto_play:Boolean;
var videoArray:Array = new Array();
var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.load(new URLRequest("test.xml"));
myXMLLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void {
var myXML:XML = new XML(e.target.data);
my_videos = myXML.VIDEO;
my_total = my_videos.length();
makePlayer();
positionPlayer();
}
function makePlayer():void {
for (var i:int = 0; i < my_total; i++) {
my_player = new FLVPlayback();
my_player.skin = "SkinOverPlayFullscreen.swf";
my_player.skinBackgroundColor = player_skin_color;
my_player.skinBackgroundAlpha = player_skin_alpha;
my_player.autoPlay = auto_play;
player_skin_color = my_videos[i]. @ PLAYER_SKIN_COLOR;
player_skin_alpha = my_videos[i]. @ PLAYER_SKIN_ALPHA;
auto_play = my_videos[i]. @ VIDEO_AUTOPLAY;
addChild(my_player);
videoArray.push(my_player);
my_player.source = my_videos[i]. @ URL;
}
}
function positionPlayer():void {
for (var i:int = 0; i < my_total; i++)
{
videoArray[i].x = my_videos[i] . @PLAYER_X;
videoArray[i].y = my_videos[i] . @PLAYER_Y;
videoArray[i].width = my_videos[i] . @PLAYER_WIDTH;
videoArray[i].height = my_videos[i] . @PLAYER_HEIGHT;
}
}
Мой XML
<?xml version="1.0" encoding="utf-8"?>
<content>
<VIDEO PLAYER_X="450" PLAYER_Y="0" PLAYER_WIDTH="400" PLAYER_HEIGHT="300" PLAYER_SKIN_COLOR="0x0000FF" PLAYER_SKIN_ALPHA="1" VIDEO_AUTOPLAY="true" URL="test.flv"></VIDEO>
<VIDEO PLAYER_X="0" PLAYER_Y="0" PLAYER_WIDTH="400" PLAYER_HEIGHT="300" PLAYER_SKIN_COLOR="0x333333" PLAYER_SKIN_ALPHA="1" VIDEO_AUTOPLAY="true" URL="test2.flv"></VIDEO>
</content>
ОБНОВЛЕНИЕ:
import flash.display.StageDisplayState;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
function goFullScreen():void
{
if (stage.displayState == StageDisplayState.NORMAL) {
stage.displayState=StageDisplayState.FULL_SCREEN;
} else {
stage.displayState=StageDisplayState.NORMAL;
}
}
//GREENSOCK LIQUID LAYOUT
var ls:LiquidStage = new LiquidStage(this.stage,900,600,900,600);
ls.attach(video_container_mc, ls.CENTER, false, true, 0);