FLV Steuerung ohne vorgefertigte Komponenten

EmperorAres

Mitglied
Morgen!

ich hab ein Problem mit der Steuerung eines flv Videos in Flash. Ich habe ein eigenes Bedienfeld gebaut und möchte nun die Bedienung des flv programmieren. Während
"Play"
Code:
on (release) {
	if (this._parent.Video_Theorie._parent._currentframe == this._parent.Video_Theorie._parent._totalframes) {
		this._parent.Video_Theorie._parent.gotoAndPlay(1);
	} else {
		this._parent.Video_Theorie._parent.play();
	}
}

und

"Pause"
Code:
on (release) {
	this._parent.Video_Theorie._parent.stop();
}
Tasten kein Problem waren, kann ich nun kein funktionierndes Actionscript für eine "weiter" bzw. "zurück" Taste schreiben.
Das flv Video liegt in einem MC ("Video_Theorie"), worin wiederum der MC ("UI_Video_Theorie_1_V_T_1") mit der Navigation liegt, in dem die einzelnen Buttons (Play, Pause, Vor und Zurück) untergebracht sind.
Mit Vor und Zurück möchte ich innnerhalb des MC ("Video_Theorie") einzelne Videoclips anspringen, ähnlich wie Kapitel bei einer DVD. Bisher habe ich folgendes in AS 2.0 geschrieben, um einfach zum nächsten Keyframe zu springen:

Code:
on (release) {
	this._parent.Video_Theorie._parent.gotoAndPlay("next");
}
Leider funktioniert das irgendwie gar nicht. Könnt ihr mir da helfen, woran das liegt?

Schönen Dank! :confused: :( :)
 
Hi,

schau Dir mal in der Referenz die Klasse NetStream an, mit der Videos gesteuert werden (oder lad Dir das FLV-Player Beispiel auf meiner Seite herunter). Du brauchst keine Zeitleiste oder Schlüsselbilder, sondern kannst dem Objekt mit seiner play-Methode eine neue Videodatei mitgeben.

Gruß
.
 
Hi,

danke für die Antwort, allerdings werden die Videos nicht gestreamt, sondern sind direkt in Flash (ich habe Version 8) eingebettet - hat sich aufgrund der Größe und Endanwendung nur so angeboten. Deswegen möchte ich also die flv's, die direkt im MC innerhalb der fla Datei liegen mit Hilfe der selbstgebauten Leiste steuern. Deswegen sollte es doch eigentlich mit dem Befehl
Code:
gotoAndPlay("next")
kein Problem sein, oder? Ich weiss auch nicht, warum er das nicht nimmt, obwohl die Pfadangaben richtig sind/sein sollten.... :(
 
Hi,

ach so, es handelt sich um ein eingebettetes Video (dann spielt das Ausgangsformat allerdings keine Rolle). Eine Navigation über die Zeitleiste des Videoobjektes ist in diesem Fall möglich.

Wo der Fehler in Deinem Ansatz liegt, kann ich Dir allerdings erst sagen, wenn ich die Datei gesehen habe) - ich vermute ein Problem mit den Pfaden oder Bildbezeichnern.

Übrigens: Für mich klingt es so, als ob sich Navigation und Videos im MC "Video_Theorie" befinden; in diesem Fall kannst Du das this._parent.Video_Theorie. bei der Adressierung weglassen, da es Dich wieder genau dort hinführt, woher Du kommst. ;)

Gruß
.
 
Ich hab mich mit dem Problem mal die Tage beschäftigt, aber ich komme nicht weiter: Ich habe einen "Next" Button, mit dem ich zu dem nächsten flv (liegt in einem MC) innerhalb der Video_Theorie Timeline (auch in einem MC) springen möchte. Da die Videos ja durch KeyFrames getrennt sind sollte auch "eigentlich"
Code:
gotoAndPlay("next")
funktionieren. Richtig; tut es aber nicht. Ersetze ich aber
Code:
gotoAndPlay("next")
durch
Code:
gotoAndStop(500)
als Beispiel, springt der Abspielkopf zu Frame 500 und stoppt, so wie er es auch sollte, somit sollte also die Ansteuerung des Videos/MC's richtig sein, oder? Hat jemand eine Ahnung, woran es liegen könnte, daß das "next" nicht angenommen wird?
 
Hi,

Bist Du sicher, dass der Bezeichner richtig in dem Frame eingegeben ist und auch nicht doppelt vorkommt?

Erstelle Dir mal eine "Dummy"-Datei mit einer Zeitleiste und diesem Bildbezeicher und probier dann, ob es so klappt. Wenn ja, liegts wohl an den Eigenarten Deiner Struktur.

Gruß
.
 
Hi,

was meinst Du genau mit Bezeichner? Das Label vom Keyframe?
Gibt es nicht die Möglichkeit einfach immer den nächsten/vorigen Keyframe abhängig von der Position des Abspielkopfes anzuspringen, ohne das ich jeden Keyframe extra labeln muss; so in der Art von gotoAndPlay(nextKeyFrame) oder sowas? :(
 
Hi,

nein, die gibt es nicht. "gotoAndPlay("next")" würde Dich zu dem Frame (egal ob Schlüsselbild oder nicht; es können ja mehrere Ebenen mit unterschiedlicher Keyframe-Verteilung existieren) mit dem Bezeichner "next" bringen.

Wenn es Dir zu aufwendig ist, alle Zwischenräume einzeln zu "labeln", dann solltest Du die einzelnen Videos in eigenen MovieClips unterbringen und immer den instanzieren (Stichwort: attachMovie), den Du grade abspielen willst. Diese Vorgehensweise hätte zudem den Vorteil einer größeren Übersichtlichkeit und Flexiblität.

Gruß
.
 
So, da mir der ganze Kram zu aufwendig wird, habe ich jetzt einfach die Filme direkt angesprochen; damit ist es zwar nicht mehr unabhängig von der Länge der Filme (steht sowieso fest...), aber wenigstens funktionert es:

Code:
on (release) {
	if (this._parent._currentframe<=452) {
		this._parent.gotoAndPlay(453);
	} else if (this._parent._currentframe<=753) {
		this._parent.gotoAndPlay(754);
	}

Trotzdem RIESEN DANK für Deine Hilfe! :)
 
So, nachdem ich nun mit Actionscript soweit gekommen bin, daß von der Steuerung her alles funktioniert taucht schon prompt das nächste Problem auf: Beim Abspielen der nacheinander in der Timeline liegenden FLV's kommt es im SWF/ der EXE immer wieder zu kurzen Unterbrechungen der Filme, abwohl in der Timeline alle Filme direkt hintereinander liegen und beim Ziehen des Abspielkopfes die Filme auch nahtlos ineinander übergehen. Weiss jemand woran das liegt (eventl. Dateigröße? 22 Filme; zusammen ca. 32MB - sollen Offline abgespielt werden) und ob ein Preloader hier vielleicht abhilfe schaffen könnte?
Vielen Dank!
 

Neue Beiträge

Zurück