gleich mehrere Fragen...

ClaudiaGlade

Mitglied
Hallo Zusammen,

ich muß folgende Projektbeschreibung erfüllen: Zuerst läuft ein Intro ab, das sich solange wiederholt bis die Maus bewegt wurde. Dann erscheint ein Menü. Das Menü besteht aus einem Film der als Hintergrund läuft, darauf sind 12 Buttons platziert. Diese Buttons starten beim klick einen exteren Film. Wenn die Buttons nun z.b. für 10min nicht geklickt wurden (oder die Maus nicht bewegt) soll wieder das Intro kommen.

Bisher bin ich soweit das ich zwei MCs ersteltt habe, einen für das Intro und einen fürs Menü. Beim Intro wird durch die FLVPlayback-Komponente ein m4p-Film abgespielt. Der am Ende wieder zum Anfang springt.
Bei dem Menü-MC liegt auf der ersten Ebene auch ein FLYPlayback das auf einen m4p-Film verweist. Eine Ebene drüber liegen die Buttons, die beim klick eine .bat aufruft und auf einem externen Player die Filme abspielt. Wenn so ein Film zuende ist, wird automatisch der Player geschlossen und das Menü läuft "darunter" weiter. (Diese Filme sind nur max.1Minute lang)
Wenn das Intro läuft und man die Maus bewegt wird dann der Menü-MC geladen.
Soweit funktioniert auch alles einigermaßen.

Mein 1. Problem besteht darin: Wie kann ich nach einer besimmten Zeit (z.B. 10min) das Intro wieder starten (falls die Maus solange nicht bewegt wurde oder kein Button angeklickt wurde)?

Und das 2. Problem besteht darin, das die m4p-Dateien über 300MB groß sind (kleiner geht es nicht, da sonst die Qualität zu schlecht ist) und beim laden es viel zu lange dauert. Wenn es dann aber erst einmal einmal durchgelaufen ist, geht es.
Nun die Frage: kann ich die m4p-Filme im Vorfeld laden? Das kann ruhig länger dauern, wenn das nur am Anfang beim Start der exe vorkommt (ich exportiere das als exe) und die Daten im Speicher bleiben.

Ich hoffe es war alles einigermaßen verständlich...

Für schnelle Tipps und Ratschläge wäre ich sehr dankbar....

(Ich verwende übrigends die Flash CS4 Demo momentan)
 
Problem 1 ist gelöst...

habe folgenden Code auf den menue-mc gelegt:
Code:
var lastmouse = getTimer(); 

var lv = setInterval(zurueck, 100);

function zurueck() { 
    if (getTimer() - lastmouse > 60000) { 
		_root.container.attachMovie("vorspann", "vorspann", _root.getNextHighestDepth());
		clearInterval(lv);
    } 
} 

var l = new Object(); 
l.onMouseMove = function() { 
    lastmouse = getTimer(); 
} 

Mouse.addListener(l);
 
Hey.

Zu deinem ersten Problem: kannst einfach bei jeder Mausbewegung einen Interval setzen, und halt den alten dabei überschreiben:

Code:
l.onMouseMove = function() {
// bla
lv = setInterval(zurueck, 60000);
}

function zurueck() {
_root.container.attachMovie("vorspann", "vorspann", _root.getNextHighestDepth());
clearInterval(lv);
}

Mouse.addListener(l);

Das ist um einiges eleganter, wie ich finde. Zum zweiten Problem. Man kann die Filme auch streamen, dazu wirst du sicher hier einiges im Forum finden. Das heißt, dass sie bis zu einem bestimmten Punkt vorgeladen werden - und dann wird abgespielt und geladen gleichzeitig. Idealerweise macht man das so dass der zu ladende Rest auch in der Abspielzeit geladen werden kann.

Natürlich kann man das auch Preloaden, da sollte Google zu 'm4p preloader' bestimmt einige gute Ergebnisse liefern. Ist halt doof für den User, wenn er am Anfang deiner Anwendung immer Minuten lang auf Videos warten muss, die er eventuell eh nicht angucken möchte.

Gruß
jens
 
Zurück