| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Mar 2010
Beiträge: 48
|
Hallo, ich arbeite gerade an einer Air-Anwendung, die verschiedene Dateien (auch swf-Dateien) hintereinander abspielen soll. Um das zu realisieren, habe ich einen SWFLoader (<mx:SWFLoader id="mySWF" height="100%" width="100%" autoLoad="false"/>) erstellt und diesem dann im Skript-Tag eine source zugewiesen und abspielen lassen. Das klappt auch alles beim ersten Film ganz gut - nur schaffe ich es nicht abzufragen wann die Datei beendet ist um die nächste zu starten. Ich habe auch Einfluss auf die Gestaltung der swf-Dateien, könnte also am Ende etwas einfügen (lassen) ... aber was? Ich moment werden die swf-Dateien über den command "quit" beendet ... nur wird dieser Befehl beim Abspielen der Datei in meiner Air-Anwendung einfach ignoriert und die swf-Datei läuft immer weiter ... Ich bin also jetzt auf der Suche nach einer Lösung wie ich die swf-Dateien beenden kann und welches Ereignis ich dann dem EventListener meines SWF-Loaders zuordnen muss, um den nächsten Film zu starten. Ich danke euch schon mal für eure Hilfe, liebe Grüße! |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Mar 2010
Beiträge: 48
|
Hallo und danke für die schnelle Antwort ... Nur noch eine Frage - wie kann ich in meiner swf-Datei einen Event auslösen, der meine Air-Anwendung erreicht? Hast du dazu vielleicht ein kurzes Code-Beispiel zum besseren Verständnis oder einen Hinweis wo ich das nachlesen könnte? Danke! |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Mar 2010
Beiträge: 48
| Geht leider immer noch nicht!
Hallo und nochmals Danke für die schnelle Antwort. Ich habe jetzt in der swf-Datei an der Stelle wo vorher der "quit"-Befehl stand dispatchEvent(new Event("endOfSwf")); eingefügt. In der Air-Datei habe ich dann meinem SWFLoader (mySWF) den Listener: mySWF.addEventListener("endOfSwf", nextVideo); hinzugefügt. Das Laden und Abspielen der swf-Dateien habe ich wie folgt realisiert: mySWF.source = "test.swf"; mySWF.load(mySWF.source); Die erste swf-Datei spielt auch ohne Probleme - jedoch bekommt die Air-Anwendung das Signal nicht. Ich habe in der Funktion nextVideo(), die vom EventListener aufgerufen werden müsste gleich zu Begin eine Ausgabe geschrieben - die wird jedoch nicht ausgeführt, er springt also gar nicht erst in die Funktion. Hat Jemand eine Idee woran das liegen könnte? Vielen Dank! |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Mar 2010
Beiträge: 48
|
Hallo ... schon wieder ... Ich bin mit meinem Problem leider immer noch nicht weiter gekommen. Habe mir jetzt eine kurze test-swf-Datei gebaut, in der einfach nur nach 5 Sekunden (also 125 Frames bei 25bps) der Event geworfen wird: Code: dispatchEvent(new Event("endOfSwf"));
trace ("endOfSwf");
stop(); Code: if (dateiFormat != "swf")
{
myvideo.source = "test.mov";
myvideo.addEventListener(VideoEvent.COMPLETE, nextVideo);
myvideo.play();
}
else
{
mySWF.source = "test.swf";
mySWF.addEventListener("endOfSwf", nextVideo);
mySWF.load(mySWF.source);
} Ich habe nun mal geschaut, auf welche Events ich bei dem swf-Loader testen könnte ... da wären z.B. Event.unload, Event.removedFromStage, Event.removed, Event.deactivate, FlexEvent.Remove ... aber wie muss ich da meine swf-Datei beenden damit einer der Events ausgelöst wird?!? Oder wenn das mit dem Zusammenspiel der Events gar nicht funktioniert - gibt es da vielleicht irgend eine Möglichkeit aus der abgespielten swf-Datei direkt auf die Funktion nextVideo() meiner Flex-Datei zuzugreifen und sie zu starten? Ich würde mich sehr über einige Hinweise freuen ... komme echt nicht weiter und habe langsam keine Idee mehr. Vielen Dank und liebe Grüße! |
| | |
| | #7 (permalink) |
| Gast
Beiträge: n/a
|
Du solltest dir für mySWF einen Complete-Event adden und erst in dessen Funktion den Customevent anhängen. PHP-Code: |
|
| | #9 (permalink) |
| Neuer User Registriert seit: May 2010
Beiträge: 8
|
Jetzt muss ich aber schon mal fragen (als ziemlich unerfahrener Flex-Programmierer), woher weiß ich denn wann der Film fertig abgespielt ist? Oder anders gesagt, wo im Code soll ich den event dispatchen? Ich muss ja irgendwo ansetzen können... Finde im Flex 4.1 Referenzhandbuch nur ereignisse, die anzeigen wann der Ladevorgang abgeschlossen ist. Ich will aber wissen wann die bytesLoaded=bytesTotal sind, also wann der swf-film fertig abgespielt ist! mx.controls.SWFLoader - Adobe Flex 4.1-Referenzhandbuch So dass ich danach z.B. einen anderen swf-film abspielen kann. Ich weiß das es sich hier wahrscheinlich um ein Grundverständniss-Problem handelt, wäre trotzdem über Antworten sehr sehr dankbar! |
| | |
| | #12 (permalink) | |
| Gast
Beiträge: n/a
| Zitat:
| |
|
![]() |
| Lesezeichen |
| Stichworte |
| abspielen, ende, hintereinander, laden, swf |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| FLEX... Flash abspielen in Flashplayer und nicht im Browser? | mathiregister | Flex allgemein | 7 | 01-04-2010 10:17 |
| [Flash CS3] swf-Dateien nacheinander abspielen | -fabi- | Flash Einsteiger | 6 | 21-04-2009 10:48 |
| swf-Dateien nacheinander abspielen | switchstance | ActionScript 3 | 1 | 22-05-2008 08:50 |
| .swf-dateien ohne pc abspielen | chrisdanny | Flash MX | 1 | 01-08-2004 13:32 |
| Abspielen von MP3 Dateien - Loop | dieter99 | Flash 4 und Flash 5 | 3 | 04-08-2002 15:36 |