Avatar billede bachome Nybegynder
06. august 2007 - 17:45 Der er 3 kommentarer og
1 løsning

hjælp til Actionscript addEventListener

Hejsa
jeg har lavet en applikation som skal afspiller forskellige .FLV filer i en bestemt rækkefølge.

Koden ser således ud:

// --- video ---
import fl.video.*;
display.contentPath = "intro.flv";

var listenerObject:Object = new Object();
// listen for complete event; play new FLV
listenerObject.complete = function(eventObject:Object):Void {
    if (display.contentPath == "intro.flv") {
        display.play(video1.flv);
    }
    else {
            display.play("outro.flv");
        }
};

Når sidste fil "outro.flv" er afspillet og man igen klikker på min play-knap afspilles det sidste klip igen, fordi det er aktivt (defineret af contentPath).
Jeg har brug for at contentPath sættes til en bestemt fil efter at alle filerne er afspillet.

Hvordan gør jeg dette?
Avatar billede bachome Nybegynder
06. august 2007 - 17:46 #1
kom gerne med flere løsninger ;)
Avatar billede kalleballe Nybegynder
07. august 2007 - 09:33 #2
Du kan jo proppe dine videoer ind i et array, -
var myVideos:Array = ["video0.flv","video1.flv","video2.flv","video3.flv"];

tja og så kan du bare afspille med

display.contentPath = myVideos[counter]

og hver gang din video så er færdig spillet kan du sige

counter++

og så loade den næste fil.

Du kan jo så tjekke om

counter == myVideos.length

Hvis counter er sand så er du nået til den sidste film og så kan du sætte din contentPath til den specielle fil du ønsker afspillet.


vh

KalleBalle
Avatar billede bachome Nybegynder
08. august 2007 - 09:12 #3
hejsa...jeg har dog det problem at al min kode ligger i en keyframe...så når flash efter første gennemløb løber koden igenne igen, sætter counter jo til (f.eks.) 0 igen!
Avatar billede bachome Nybegynder
20. august 2007 - 09:34 #4
Hejsa
Jeg løste selv problemet med en Switch Case metode:

import fl.video.*;
display.contentPath = "intro.flv";

var listenerObject:Object = new Object();
// listen for complete event; play new FLV
listenerObject.complete = function(eventObject:Object):Void {
  switch (display.contentPath) {
      case "intro.flv" :
          display.play(nodes[1].toString()+"/"+nodes[0].toString());
          break;
      case "outro.flv" :
            display.contentPath = nodes[1].toString()+"/"+nodes[0].toString();
          display.stop();
          break; 
      default :
          display.contentPath = "outro.flv"
  }
};

display.addEventListener("complete", listenerObject);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester