swf in swf - lädt nicht!?

netchen

Mitglied
hi!

ich habe schon alle posts über loadmovie durchgeforstert aber bin leider noch zu keiner lösung gekommen...

in einem movieclip habe ich im 1 frame einen button der den code

Code:
on(keypress "<Enter>"){
    gotoAndStop("Sommerhaus");
}

ok das funktioniert. er springt also zu dem keyframe. in diesem keyframe habe ich den code:

Code:
onEnterFrame = function(){
	function loadSWF(){
		loadMovieNum("test.swf", 1);
	}
}

stop();

er ladet aber leider nicht!? es bleibt ein schwarzer screen( also man sieht den regulären bg) aber sonst passiert nichts. jetzt möchte ich aber ein externes swf (ziemlich gross hat 50 Mb) laden - liegt es daran dass das laden solange dauert? kann man den schon ganz am anfang der applikation sagen dass er alle externen swf's ladet und erst dann anzeigt wenn sie aufgerufen werden? bzw an was könnte es sonst liegen? ich möchte nämlich nicht dass das video im gleichen frame wie der button geladen wird... da ich über dieses video noch einige andere mc's etc legen möchte...

danke einmal wieder für hilfe - was würde ich bloss ohne euch tun!

lg,

netchen
 
Hi,


Code:
onEnterFrame = function(){
	function loadSWF(){
		loadMovieNum("test.swf", 1);
	}
}
Damit erstellst Du lediglich eine neue Funktion - und zwar andauernd neu mit jedem Frameaufruf. Ist Dir klar, was onEnterFrame und function überhaupt machen? (Lies Dir bitte noch einmal die Hilfe/Anleitung zu Funktionen und Ereignissen durch).

Im Frame "Sommerhaus" sollte eigentlich folgendes ausreichen:
PHP:
loadMovieNum("test.swf", 1);
Tipp: Lies Dir auch noch mal die Beschreibung sowohl von loadMovieNum als auch von loadMovie durch - ob man in Stufen oder Container lädt, kann eine wichtige Entscheidung sein! ;) Du schreibst z.B., Du möchtest einige Symbole über das Video legen: Das geht nicht, wenn Du das Video mit loadMovieNum in Stufe zwei lädst (es sei denn, Du lädst diese Symbole wieder in eine höhere Stufe, z.B. 3).

Gruß
.
 
hi!

ja ich glaube da habe ich wohl etwas falsch verstanden...

ok, also es funktioniert so, allerdings nur mit einem kleinen swf. wie kann ich da ein 50Mb grosses swf laden? also so dass es eigentlich schon ganz am anfang der applikation geladen wird aber eben erst dann erscheint wenn ich den jeweiligen button betätige? geht das?

danke wie immer für deine hilfe!

lg,

netchen
 
Hi,

Ja, dann würde ich Dir allerdings einen Preloader (und wahrscheinlich einen Container) empfehlen.

Du kannst das Video beim Filmstart unsichtbar vorladen lassen und bei Bedarf anzeigen.

Suche mal im Forum nach "Preloader", "loadMovie" und "Container" - das Thema hatten wir schon sehr oft.

Gruß

P.S.: Beachte bitte unsere Netiquette in Bezug auf Groß- und Kleinschreibung!
.
 
Also ich habe mich einmal auf die Suche gemacht und ganz klar wird mir das Problem nicht.

Vielleicht hast Du doch noch einen Tip für mich auf Lager.

Ich glaube ich checke das Konzept nicht ganz ab. Lege ich in das erste Frame der main timeline einen invisible Container der alle 6 Filme (soviele sind es im Endefekt, allerdings getrennt voneinander) an? Und den kann ich dann in welchem movieclip auch immer abrufen? Bzw. das bestimmte externe swf? Und wo liegt dann der Preloader?

Sorry, aber ich bin echt total ratlos!?

Lg,

Netchen
 
Und den kann ich dann in welchem movieclip auch immer abrufen?
Was meinst Du damit?

Generell würde ich Dir raten, nicht mehrere Frames auf der Hauptzeitleiste zu verwenden. Die Container kannst Du mit AS über ihre _visible-Eigenschaft einblenden:
PHP:
film6._visible = true;

Leider gibt es keine Standardlösung, die ich hier posten könnte, denn das hängt von der Struktur Deines Films ab. Dir eine fertige Datei vorzulegen bringt auch nicht viel, denn es geht ja um den Lernfaktor.

Im Sammelthread findest Du mehrere Preloader-Vorschläge (für mehrere Videos bietet sich z.B. der Multiloader an). Allerdings weiß ich nicht, ob es Sinn macht, 6 lange Videos am Anfang vorzuladen, die der Besucher vielleicht garnicht alle ansehen möchte. Ich würde die Clips wohl erst beim direkten Anwählen laden.

Schau Dir einmal dieses Tutorial an, die Navi und der Preloader eignen sich auch für Videos. ;)

Gruß
.
 
Wegen dem Vorladen ist das Problem dass die gesamte Applikation eine Präsentation wird, das heisst, es werden auf alle Fälle alle 6 Filme gezeigt. Da ich über diese Filme auch eine Navigation um wieder zum Hauptmenü zurückkehren zu können legen muss, muss ich sie wohl direkt ins Flash laden.

Es ist allerdings schon die Frage was die geschickteste Lösung wäre da die Filme insgesamt ja ca. 350 Mb gross sind und wohl doch eine längere Ladezeit haben. Und eigentlich sollte das Video dann auch direkt laufen, ohne vorher warten zu müssen bis alles geladet ist (also im jeweiligen Fenster in dem das Video aufgeht).

Ich weiss einfach nicht was die beste Lösung wäre!?
 
Aaalso:

Es wird eine Präsentation, die alle 6 Filme zeigt, aber vom Benutzer navigierbar ist - und das ganze nicht offline, sondern im Internet (wg. Ladezeiten)? Zudem soll mit dem Abspielen der Videos begonnen werden, bevor alle geladen sind. Hmm. Mit konventionellen Mitteln lässt sich das durchaus realisieren, erfordert allerdings einen recht intelligenten Preloader.

Leider habe ich im Moment nicht die Zeit, Dir einen solchen zu erstellen und das Vermitteln der nörigen Grundlagen "auf die Schnelle" überschreitet auch meine Kapazitäten.

Wenn Du mit FlashMX2004 arbeitest, kann ich Dir raten, die Filme im flv-Format (FlashVideo) streamen zu lassen. Dabei wird das gewählte Video abgespielt, sobald genügend Bytes vom Server übertragen ist und Du sparst Dir das Vorladen der Filme. Melde Dich in diesem Fall bitte noch einmal, denn dazu könnte ich Dir ein kleines Beispiel erstellen.

Gruß
.
 
Das ganze wird eine offline Präsentation! Habe ich wohl vergessen dazuzusagen...

Da gibt es doch bestimmt leichtere Wege oder?

Und ja ich arbeite mit FlashMX 2004 - die Videos wurden schon als Swf's kompremiert und auf die richtige Grösse gebracht - aber wenn es einen besseren Weg gibt als die Kurzfilme als Swf's zu benutzen bin ich sicher dass ich das noch ändern kann!

Danke wie immer!

Lg,

Netchen
 
Hmm... wenn es offline laufen soll, gibt es doch kaum Ladezeit bei nachgeladenen Filmen - dann kannst Du Dir den Preloader eigentlich sparen...

Eingebettete Videos kannst Du problemlos als .flv exportieren (Eigenschaften in der Bibliothek -> Exportieren), die gestreamt werden können. Fragt sich allerdings, ob das bei einer Offline-Präsentation dann nötig ist. ;)

Gruß
.
 
Zurück