Jtbrack
08-22-2008, 09:24 AM
First up, forgive my crappy AS3 :). Now that's out of the way, here's my issue. I have a FLVPlayback component with an eventListener for when the movie is done playing in the component using .COMPLETE in the listener, which in turn loads another movie.
The problem is that when I load the flash file, the movie begins stopped as designed but if I wait long enough the function listening for .COMPLETE will fire anyways and load the next movie.
Here's the code:
import fl.video.*;
var textStatus:Sprite = new Sprite();
flvPlayer.source = "I-d.flv";
flvPlayer.activeVideoPlayerIndex = 1;
flvPlayer.visibleVideoPlayerIndex = 1;
flvPlayer.source = "I-a.flv";
removeChild(andy01a);
removeChild(andy02a);
removeChild(andy03a);
removeChild(andy04a);
removeChild(andy05a);
flvPlayer.stop();
andy01.addEventListener(MouseEvent.CLICK, changeVid01);
andy02.addEventListener(MouseEvent.CLICK, changeVid02);
andy03.addEventListener(MouseEvent.CLICK, changeVid03);
andy04.addEventListener(MouseEvent.CLICK, changeVid04);
andy05.addEventListener(MouseEvent.CLICK, changeVid05);
flvPlayer.addEventListener(VideoEvent.COMPLETE, vidComplete);
playFirst.addEventListener(MouseEvent.CLICK, startFirst);
function startFirst(event:MouseEvent):void {
flvPlayer.play();
}
function changeVid01(event:MouseEvent):void {
flvPlayer.play();
/*
if (stage.getChildByName("textStatus") == null) {
addChild(textStatus);
textStatus.addChild(andy01a);
}
*/
if (flvPlayer.activeVideoPlayerIndex == 2) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 1;
flvPlayer.visibleVideoPlayerIndex = 1;
flvPlayer.source = "I-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(2);
}
if (flvPlayer.activeVideoPlayerIndex == 3) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 1;
flvPlayer.visibleVideoPlayerIndex = 1;
flvPlayer.source = "I-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(3);
}
if (flvPlayer.activeVideoPlayerIndex == 4) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 1;
flvPlayer.visibleVideoPlayerIndex = 1;
flvPlayer.source = "I-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(4);
}
if (flvPlayer.activeVideoPlayerIndex == 5) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 1;
flvPlayer.visibleVideoPlayerIndex = 1;
flvPlayer.source = "I-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(5);
}
if (textStatus.contains(andy02a) || textStatus.contains(andy03a) || textStatus.contains(andy04a) || textStatus.contains(andy05a)) {
textStatus.removeChildAt(0);
textStatus.addChild(andy01a);
}
}
function changeVid02(event:MouseEvent):void {
if (flvPlayer.activeVideoPlayerIndex == 1) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 2;
flvPlayer.visibleVideoPlayerIndex = 2;
flvPlayer.source = "I-b.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(1);
}
if (flvPlayer.activeVideoPlayerIndex == 3) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 2;
flvPlayer.visibleVideoPlayerIndex = 2;
flvPlayer.source = "I-b.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(3);
}
if (flvPlayer.activeVideoPlayerIndex == 4) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 2;
flvPlayer.visibleVideoPlayerIndex = 2;
flvPlayer.source = "I-b.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(4);
}
if (flvPlayer.activeVideoPlayerIndex == 5) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 2;
flvPlayer.visibleVideoPlayerIndex = 2;
flvPlayer.source = "I-b.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(5);
}
if (textStatus.contains(andy03a) || textStatus.contains(andy04a) || textStatus.contains(andy05a) || textStatus.contains(andy01a)) {
textStatus.removeChildAt(0);
textStatus.addChild(andy02a);
}
}
function changeVid03(event:MouseEvent):void {
if (flvPlayer.activeVideoPlayerIndex == 1) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 3;
flvPlayer.visibleVideoPlayerIndex = 3;
flvPlayer.source = "I-c.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(1);
}
if (flvPlayer.activeVideoPlayerIndex == 2) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 3;
flvPlayer.visibleVideoPlayerIndex = 3;
flvPlayer.source = "I-c.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(2);
}
if (flvPlayer.activeVideoPlayerIndex == 4) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 3;
flvPlayer.visibleVideoPlayerIndex = 3;
flvPlayer.source = "I-c.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(4);
}
if (flvPlayer.activeVideoPlayerIndex == 5) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 3;
flvPlayer.visibleVideoPlayerIndex = 3;
flvPlayer.source = "I-c.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(5);
}
if (textStatus.contains(andy04a) || textStatus.contains(andy05a) || textStatus.contains(andy01a) || textStatus.contains(andy02a)) {
textStatus.removeChildAt(0);
textStatus.addChild(andy03a);
}
}
function changeVid04(event:MouseEvent):void {
if (flvPlayer.activeVideoPlayerIndex == 1) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 4;
flvPlayer.visibleVideoPlayerIndex = 4;
flvPlayer.source = "I-d.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(1);
}
if (flvPlayer.activeVideoPlayerIndex == 2) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 4;
flvPlayer.visibleVideoPlayerIndex = 4;
flvPlayer.source = "I-d.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(2);
}
if (flvPlayer.activeVideoPlayerIndex == 3) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 4;
flvPlayer.visibleVideoPlayerIndex = 4;
flvPlayer.source = "I-d.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(3);
}
if (flvPlayer.activeVideoPlayerIndex == 5) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 4;
flvPlayer.visibleVideoPlayerIndex = 4;
flvPlayer.source = "I-d.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(5);
}
if (textStatus.contains(andy05a) || textStatus.contains(andy01a) || textStatus.contains(andy02a) || textStatus.contains(andy03a)) {
textStatus.removeChildAt(0);
textStatus.addChild(andy04a);
}
}
function changeVid05(event:MouseEvent):void {
if (flvPlayer.activeVideoPlayerIndex == 1) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 5;
flvPlayer.visibleVideoPlayerIndex = 5;
flvPlayer.source = "II-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(1);
}
if (flvPlayer.activeVideoPlayerIndex == 2) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 5;
flvPlayer.visibleVideoPlayerIndex = 5;
flvPlayer.source = "II-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(2);
}
if (flvPlayer.activeVideoPlayerIndex == 3) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 5;
flvPlayer.visibleVideoPlayerIndex = 5;
flvPlayer.source = "II-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(3);
}
if (flvPlayer.activeVideoPlayerIndex == 4) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 5;
flvPlayer.visibleVideoPlayerIndex = 5;
flvPlayer.source = "II-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(4);
}
if (textStatus.contains(andy01a) || textStatus.contains(andy02a) || textStatus.contains(andy03a) || textStatus.contains(andy04a)) {
textStatus.removeChildAt(0);
textStatus.addChild(andy05a);
}
}
function vidComplete(event:VideoEvent):void {
if (flvPlayer.activeVideoPlayerIndex == 2 ) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 3;
flvPlayer.visibleVideoPlayerIndex = 3;
flvPlayer.source = "I-c.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(2);
}
else if (flvPlayer.activeVideoPlayerIndex == 1 ) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 2;
flvPlayer.visibleVideoPlayerIndex = 2;
flvPlayer.source = "I-b.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(1);
}
else if (flvPlayer.activeVideoPlayerIndex == 3 ) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 4;
flvPlayer.visibleVideoPlayerIndex = 4;
flvPlayer.source = "I-d.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(3);
}
else if (flvPlayer.activeVideoPlayerIndex == 4 ) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 5;
flvPlayer.visibleVideoPlayerIndex = 5;
flvPlayer.source = "II-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(4);
}
else {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 1;
flvPlayer.visibleVideoPlayerIndex = 1;
flvPlayer.source = "I-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(5);
}
}
Any insight would be much appreciated!
The problem is that when I load the flash file, the movie begins stopped as designed but if I wait long enough the function listening for .COMPLETE will fire anyways and load the next movie.
Here's the code:
import fl.video.*;
var textStatus:Sprite = new Sprite();
flvPlayer.source = "I-d.flv";
flvPlayer.activeVideoPlayerIndex = 1;
flvPlayer.visibleVideoPlayerIndex = 1;
flvPlayer.source = "I-a.flv";
removeChild(andy01a);
removeChild(andy02a);
removeChild(andy03a);
removeChild(andy04a);
removeChild(andy05a);
flvPlayer.stop();
andy01.addEventListener(MouseEvent.CLICK, changeVid01);
andy02.addEventListener(MouseEvent.CLICK, changeVid02);
andy03.addEventListener(MouseEvent.CLICK, changeVid03);
andy04.addEventListener(MouseEvent.CLICK, changeVid04);
andy05.addEventListener(MouseEvent.CLICK, changeVid05);
flvPlayer.addEventListener(VideoEvent.COMPLETE, vidComplete);
playFirst.addEventListener(MouseEvent.CLICK, startFirst);
function startFirst(event:MouseEvent):void {
flvPlayer.play();
}
function changeVid01(event:MouseEvent):void {
flvPlayer.play();
/*
if (stage.getChildByName("textStatus") == null) {
addChild(textStatus);
textStatus.addChild(andy01a);
}
*/
if (flvPlayer.activeVideoPlayerIndex == 2) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 1;
flvPlayer.visibleVideoPlayerIndex = 1;
flvPlayer.source = "I-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(2);
}
if (flvPlayer.activeVideoPlayerIndex == 3) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 1;
flvPlayer.visibleVideoPlayerIndex = 1;
flvPlayer.source = "I-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(3);
}
if (flvPlayer.activeVideoPlayerIndex == 4) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 1;
flvPlayer.visibleVideoPlayerIndex = 1;
flvPlayer.source = "I-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(4);
}
if (flvPlayer.activeVideoPlayerIndex == 5) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 1;
flvPlayer.visibleVideoPlayerIndex = 1;
flvPlayer.source = "I-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(5);
}
if (textStatus.contains(andy02a) || textStatus.contains(andy03a) || textStatus.contains(andy04a) || textStatus.contains(andy05a)) {
textStatus.removeChildAt(0);
textStatus.addChild(andy01a);
}
}
function changeVid02(event:MouseEvent):void {
if (flvPlayer.activeVideoPlayerIndex == 1) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 2;
flvPlayer.visibleVideoPlayerIndex = 2;
flvPlayer.source = "I-b.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(1);
}
if (flvPlayer.activeVideoPlayerIndex == 3) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 2;
flvPlayer.visibleVideoPlayerIndex = 2;
flvPlayer.source = "I-b.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(3);
}
if (flvPlayer.activeVideoPlayerIndex == 4) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 2;
flvPlayer.visibleVideoPlayerIndex = 2;
flvPlayer.source = "I-b.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(4);
}
if (flvPlayer.activeVideoPlayerIndex == 5) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 2;
flvPlayer.visibleVideoPlayerIndex = 2;
flvPlayer.source = "I-b.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(5);
}
if (textStatus.contains(andy03a) || textStatus.contains(andy04a) || textStatus.contains(andy05a) || textStatus.contains(andy01a)) {
textStatus.removeChildAt(0);
textStatus.addChild(andy02a);
}
}
function changeVid03(event:MouseEvent):void {
if (flvPlayer.activeVideoPlayerIndex == 1) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 3;
flvPlayer.visibleVideoPlayerIndex = 3;
flvPlayer.source = "I-c.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(1);
}
if (flvPlayer.activeVideoPlayerIndex == 2) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 3;
flvPlayer.visibleVideoPlayerIndex = 3;
flvPlayer.source = "I-c.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(2);
}
if (flvPlayer.activeVideoPlayerIndex == 4) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 3;
flvPlayer.visibleVideoPlayerIndex = 3;
flvPlayer.source = "I-c.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(4);
}
if (flvPlayer.activeVideoPlayerIndex == 5) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 3;
flvPlayer.visibleVideoPlayerIndex = 3;
flvPlayer.source = "I-c.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(5);
}
if (textStatus.contains(andy04a) || textStatus.contains(andy05a) || textStatus.contains(andy01a) || textStatus.contains(andy02a)) {
textStatus.removeChildAt(0);
textStatus.addChild(andy03a);
}
}
function changeVid04(event:MouseEvent):void {
if (flvPlayer.activeVideoPlayerIndex == 1) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 4;
flvPlayer.visibleVideoPlayerIndex = 4;
flvPlayer.source = "I-d.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(1);
}
if (flvPlayer.activeVideoPlayerIndex == 2) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 4;
flvPlayer.visibleVideoPlayerIndex = 4;
flvPlayer.source = "I-d.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(2);
}
if (flvPlayer.activeVideoPlayerIndex == 3) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 4;
flvPlayer.visibleVideoPlayerIndex = 4;
flvPlayer.source = "I-d.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(3);
}
if (flvPlayer.activeVideoPlayerIndex == 5) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 4;
flvPlayer.visibleVideoPlayerIndex = 4;
flvPlayer.source = "I-d.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(5);
}
if (textStatus.contains(andy05a) || textStatus.contains(andy01a) || textStatus.contains(andy02a) || textStatus.contains(andy03a)) {
textStatus.removeChildAt(0);
textStatus.addChild(andy04a);
}
}
function changeVid05(event:MouseEvent):void {
if (flvPlayer.activeVideoPlayerIndex == 1) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 5;
flvPlayer.visibleVideoPlayerIndex = 5;
flvPlayer.source = "II-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(1);
}
if (flvPlayer.activeVideoPlayerIndex == 2) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 5;
flvPlayer.visibleVideoPlayerIndex = 5;
flvPlayer.source = "II-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(2);
}
if (flvPlayer.activeVideoPlayerIndex == 3) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 5;
flvPlayer.visibleVideoPlayerIndex = 5;
flvPlayer.source = "II-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(3);
}
if (flvPlayer.activeVideoPlayerIndex == 4) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 5;
flvPlayer.visibleVideoPlayerIndex = 5;
flvPlayer.source = "II-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(4);
}
if (textStatus.contains(andy01a) || textStatus.contains(andy02a) || textStatus.contains(andy03a) || textStatus.contains(andy04a)) {
textStatus.removeChildAt(0);
textStatus.addChild(andy05a);
}
}
function vidComplete(event:VideoEvent):void {
if (flvPlayer.activeVideoPlayerIndex == 2 ) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 3;
flvPlayer.visibleVideoPlayerIndex = 3;
flvPlayer.source = "I-c.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(2);
}
else if (flvPlayer.activeVideoPlayerIndex == 1 ) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 2;
flvPlayer.visibleVideoPlayerIndex = 2;
flvPlayer.source = "I-b.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(1);
}
else if (flvPlayer.activeVideoPlayerIndex == 3 ) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 4;
flvPlayer.visibleVideoPlayerIndex = 4;
flvPlayer.source = "I-d.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(3);
}
else if (flvPlayer.activeVideoPlayerIndex == 4 ) {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 5;
flvPlayer.visibleVideoPlayerIndex = 5;
flvPlayer.source = "II-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(4);
}
else {
flvPlayer.volume = 0;
flvPlayer.activeVideoPlayerIndex = 1;
flvPlayer.visibleVideoPlayerIndex = 1;
flvPlayer.source = "I-a.flv";
flvPlayer.play();
flvPlayer.volume = 1;
flvPlayer.closeVideoPlayer(5);
}
}
Any insight would be much appreciated!