2 flv laden/audiocrossfade

Danke an euch zwei für die aufschlussreichen Antworten. Ich hatte die Frage schon mal woanders gestellt und hab nicht verstanden was mit flv's müssen vollständig im cache sein bedeutet, so wie ich das jetzt verstanden hab bedeutet dass das sie eingebettet werden müssen. Da bin ich dann ja aber von den fps abhängig- meine jetzige fla läuft auf 15 fps, was für Video doch ziemlich wenig ist. Würd das ganze dann gern auf 24fps stellen, aber ist das nicht zuviel für ne website? Kann das schwer einschätzen.
@marian: es sollte nur einen crossfader geben für die 2 aktuellen videos, aber über den mach ich mir noch gar keine Gedanken-so weit bin ich noch nicht. wie hast du gemeint alle in einen mc packen?Hintereinander in der Zeitleiste oder wie? Angenommen die ganze Seite ist einem Frame, wie kann ich für den Videobereich einen preloader erstellen? Hab schon ein paar tuts gesehen aber da wird die ganze Zeitleiste vorgeladen- bei einem Frame? Oder muss ich dann für jedes Video einzeln nen preloader machen?
besten Dank
 
Du willst dem User ja die Möglichkeit geben den Film zu streamen um nicht erst die Movies abzuspielen wenn sie zu 100% geladen sind.

-importier die Videos auf die Hauptzeitleiste.
-Für jeden Videoclip brauchst du eine Ebene.
-Dann possitionierst du die Videos an die richtigen stelle und setzt auf den letzten Kayframe
ein gotoAndPlay(1);

jetzt brauchen die Videos allerdings Bezeichner um sie zu steuern..habs selber noch nicht ausprobiert ob man den importierten Videos auf der Hauptzeitleiste ein Bezeichner geben kann..

Wie man eine preeload- Funktion schreibt müsste dir ja klar sein, oder?

Wenn du das über eine Crossfade machen möchtest dann teilst du in der Fadefunktion die scrolllänge durch 3 und teilst jedem Teil die lautstärke Eigenschaften der Movies zu.

Probier mal aus ob du das Volumen der eingebetten Videos über ein Bezeichner ändern kannst!

PHP:
deinVideo._volume = 20;

Gruß
 
Danke Marian, ich werd auf jedenfall testen wozu du mir geraten hast. Die Möglichkeit zu streamen muss nicht unbedingt gegeben sein, ich wollte nur flv nützen da ich das Problem mit den Bps umgehen wollte. Ich wäre auch zufrieden wenn ich die flv's zu 100% von ner externen Quelle laden und dann synchron abspielen könnte. Werd mal versuchen meine Hauptfile auf mehr Bps zu stretchen und dann Videos als swf zu importieren- aber kann ich auch auf 24Bps gehen? Ich weiss das ist schwierig ohne meine file zu sehen, aber was ist Standard bei Webseiten mit viel Video? Danke sehr.......
 
Nur als Anmerkung: Keine meiner Flashseiten und -Anwendungen läuft standardmäßig mit einer Framerate von unter 24 fps. ;)

Gruß

P.S.: Leider habe ich im Moment wenig Zeit, aber wenn das Problem übers Wochenende nicht gelöst ist, werde ich mich auch mal daran versuchen.
.
 
Ich post hier mal meine fla (mx04), damit keine weiteren Verwirrungen entstehen wie das Ganze ausschaut(noch ohne sound und script, mit 2 Beispielvideos). die drei Buttons links vom Trennstich sind fürs linke Fenster und umgekehrt.
Ich hab mir gedacht ich schalt erst alle mc's in denen ich die movies gepackt hab auf _visible = false. In den Button für movie2 hab ich folgendes Skript gelegt (erstmal nur mit zwei Videos):

Code:
//Skript im button für movie2 (rechts), movie1 (links) läuft bereits oder nicht.
//Bild1 im mc movie1 hat die Bezeichnung "syn"
on(release){
	if (this.movie1._visible=true){
		while (this.movie1._currentframe != "syn") {
				this.movie2._visible=false;}
		this.movie2._visible=true;
		}
//und falls noch kein video läuft....
	else if (this.movie1._visible=false) {
		this.movie2.play();}}



mir ist klar dass da irgendwo ein gewaltiger Fehler sein muss (mein Rechner kann es laut Fehlermeldung kaum ausführen) wahrscheinlich mit dem while, aber das ist auch mein aller aller erstes gänzlich selbst geschriebenes Skript. Da gibts sicher noch viel besseres......bitte helfen ;)
Und auch wenn mein Ansatz falsch ist ne Frage am Rande: wie könnte ich in dem Skript alle movieclips die links sind, also movie1, movie3, movie5 auf erstes Frame und _visible überprüfen ohne das obige Script dreimal hintereinander zu geben?

Danke
 

Anhänge

  • show.zip
    5,6 KB · Aufrufe: 10
Hi,

ich weiß nicht, was Du mit diesem Code bezwecken willst - glücklicherweise ist er in der Datei nicht zu finden. ;)

Ich habe die Datei mal ein wenig modifiziert: In die MovieClips "vid1" bis "vid6" kannst Du die einzelnen Videodateien importieren. Flash erstellt automatisch genügend Frames in den jeweiligen Zeitleisten.

Auf der Hauptzeitleiste habe ich zwei Soundobjekte für die jeweiligen Videos erstellt, die mit dem Fader gegeneinander geblendet werden können.

Klickst Du auf einen Button, so wird das entsprechende Video in das jeweilige Fenster geladen und der dazugehörige Sound auf die richtige Lautstärke gestellt.

Gruß
.
 

Anhänge

  • crossfade.zip
    7,1 KB · Aufrufe: 18
Hi Datic!

Danke für deine Antwort. Das versteh sogar ich und erledigt schon ziemlich genau was ich will. Ich hab in vid1 eine flv importiert, nur seltsamerweise kommt nun kurz ein schwarzes Bild bevor sie wieder beginnt!?
Und wie kann ich nun die gerade gewählte Datei erst abspielen wenn die die vielleicht gerade im anderen Fenster spielt auch wieder anfängt (also das syncen?)

Besten Dank
 
Hi,

1. Du musst in den "vid"-MCs auch genügend Frames für die eingebetteten Videos erstellen. Wenn Du dort ein Video importierst, fragt Flash Dich eigentlich automatisch, ob genügend Frames erstellt werden sollen.

2. Probiers mal hiermit:
Code:
var snd1 = new Sound(win1);
var snd2 = new Sound(win2);

function setCrossfade(p) {
	snd1.setVolume(100 - p);
	snd2.setVolume(p);
}

function setLeft(n) {
	win1.attachMovie("vid" + n, "vid", 1);
	win1.vid.stop();
	win1.onEnterFrame = function() {
		if (win2.vid._currentframe == win2.vid._totalframes) {
			this.vid.play();
			delete this.onEnterFrame;
		}
	}
	snd1 = new Sound(win1.vid);
	snd1.setVolume(100 - fader.getPerc());
}

function setRight(n) {
	win2.attachMovie("vid" + n, "vid", 1);
	win2.vid.stop();
	win2.onEnterFrame = function() {
		if (win1.vid._currentframe == win1.vid._totalframes) {
			this.vid.play();
			delete this.onEnterFrame;
		}
	}
	snd2 = new Sound(win2.vid);
	snd2.setVolume(fader.getPerc());
}

Gruß
.
 
@1.: ja Flash hat mich auch gefragt und die Zeitleiste in vid entsprechend verlängert (und das auch richtig gemacht); trotzdem kommt kurz ein schwarzes Bild.
@2.: bin grad nicht zu Hause, werd das aber gleich testen.

Riesen Dankeschön; sehr übersichtliches und für mich auch verständliches Scripting......
 
Zurück