swf-film in mc laden per loadMovie() + filmsteuerung

ja, das stimmt.
ich lasse mir in diesem dynamischen Textfeld einige Sachen ausgeben(zum Testen).
Da es bei _root.video_mc._totalframes nur "1" ausgegeben hat, habe ich zum Test das _totalframes mal durch _currentframe ersetzt. Da kommt dann immer "0" raus...



PHP:
_root.video_mc.onEnterFrame = function() { 
    var x = _root.timeline_mc._x - 130; 
    var y = _root.timeline_mc._y - 6; 
    _root.createTextField("test", 30, x, y, 300, 20); 
    anzeige = new TextFormat(); 
    anzeige.color = textfarbe; 
    anzeige.font = schriftart; 
    anzeige.size = 10; 
    anzeige.bold = schriftfett; 
    anzeige.italic = schriftkursiv; 
    anzeige.underline = schriftunterstrichen; 
    anzeige.align = textausrichtung; 
    test.text = _root.video_mc._currentframe; 
    test.setTextFormat(anzeige); 
};

Gruß, matschomaen
 
Zuletzt bearbeitet:
Hi,

dieser ganze Block:
Code:
_root.video_mc.loadMovie(_root.mediafile+"_"+_root.size+".swf");
_root.play_btn._visible = false;
_root.pause_btn._visible = true;
_root.pause_btn.onRelease = function() {
    _root.pause_btn._visible = false;
    _root.play_btn._visible = true;
    _root.video_mc.stop();
};
_root.play_btn.onRelease = function() {
    _root.play_btn._visible = false;
    _root.pause_btn._visible = true;
    _root.video_mc.play();
};

//filmsteuerung
_root.video_mc.onEnterFrame = function() {
    var x = _root.timeline_mc._x - 130;
    var y = _root.timeline_mc._y - 6;
    _root.createTextField("test", 30, x, y, 300, 20);
    anzeige = new TextFormat();
    anzeige.color = textfarbe;
    anzeige.font = schriftart;
    anzeige.size = 10;
    anzeige.bold = schriftfett;
    anzeige.italic = schriftkursiv;
    anzeige.underline = schriftunterstrichen;
    anzeige.align = textausrichtung;
    test.text = _root.video_mc._currentframe;
    test.setTextFormat(anzeige);
};
kann so nicht klappen, da Du zuerst in "video_mc" einen Film einlädst, und dann sofort eine onEnterFrame-Methode darauf starten willst. Sobald aber auch nur ein bisschen des Films geladen ist, wird Diese onEnterFrame-Methode sofort überschrieben. Anders ausgedrückt: Sobald genug geladen ist, dass _currentframe bzw. _totalframes einen sinnvollen Wert ergeben, gibts schon lange keine onEnterFrame-Methode mehr, die irgendwas davon anzeigen könnte.

Gruß
.
 
hmmm... ok... aber was kann ich da machen?
hab mal die onEnterFrame-methode auskommentiert, das hat mir aber nicht wirklich was gebracht...
 
... dann bekommst Du natürlich auch keine Angabe der Frameanzahl, da der Film ja erst komplett geladen werden muss. Weiter oben habe ich Dir doch schon gesagt, wie man auf das Laden eines Films wartet: Je nach Anforderung über getBytesLoaded()/-total() oder über die Breite/Höhe:
Code:
this.onEnterFrame = function() {
    var cur = meinfilm.getBytesLoaded();
    var max = meinfilm.getBytesTotal();
    if (cur > 0 && max > 0) {
        var p = cur * 100 / max;
        if (p >= 100) {
            textfeld.text = "Hat " + meinfilm._totalframes + " Bilder";
            delete this.onEnterFrame;
        }
    }
}

Gruß
.
 
hallo,
ich hoffe ihr hattet ein angenehmes Wochenende! =))

@Datic: Sorry, hatte ich nicht mehr dran gedacht!
Habs aber nun so gemacht und dann noch ein paar Denkfehler behoben und nun zeigt es mir endlich die Frames an! =)))

Das Komische aber ist:
ich habe zwei swf-Filme, die genau gleich lang sind, der einzigste Unterschied ist, dass der eine Film eine niedrigere Auflösung hat als der Andere.
Wenn ich mir _totalframes ausgeben lassen will, dann sollten die Filme ja eigentlich dieselbe Frameanzahl haben.
Eben dies ist nicht der Fall. Der Film mit der niedrigen Auflösung hat weniger Frames als der mit der Großen.

Wie kann das sein?! Kann mir das mal jemand verständlich machen?

P.S.: ich will mir anhand der Frames die Derzeitige Position (links von der Zeitleiste) und die Gesamtzeit(rechts von Zeitleiste) ausgeben lassen.
 
ähem,

Wie viele Frames haben die beiden Filme denn?

Mir ist es noch nie untergekommen, dass _totalframes nach dem Laden etwas anderes als die Frameanzahl ausgibt.

Kannst Du den Übeltäter mal posten?

Gruß
.
 
hi,

ja... habs grad bemerkt...
da ich diese Filme nicht encodiert habe, wusste ich nicht, dass der Film mit der niedrigen Auflösung auch nur 12,5 Bilder/s hat (der Andere hat 25 B/s)...

Gruß, matschomaen

P.S.: Danke noch mal. Vor Allem an Datic! :)
 
Hi, da bin ich wider mal! =))

ich hab mal wieder eine Frage.
Und zwar wollte ich nun die Zeitleiste für den importierten Film erstellen.

also:
es gibt eine Zeitleiste (timeline_mc) und einen Schieberegler (do_mc).
Wenn man auf eine Position auf der Zeitleiste klickt, dann soll man auf diese Position im Film kommen können(Schieberegler springt auf diese Position). Der Schieberegler soll die jeweilige Position des Films anzeigen und man soll ihn draggen können.

Steh grad ziemlich auf dem Schlauch, da ich nicht weiss, wie ich das umsetzen soll. :confused:

Gruß, matschomaen
 
Hi,

schau mal in den Anhang. Mit dem Slider kannst Du den MC "ani" steuern - funktioniert auch mit eingeladenen Filmen.

Gruß
.
 

Anhänge

  • movieslider.zip
    7,4 KB · Aufrufe: 53

Neue Beiträge

Zurück