+ Antworten
Ergebnis 1 bis 4 von 4

Thema: [Flash MX 2004] - Abspielbutton erstellen?

  1. #1
    TP-Junior miriam.nord macht alles soweit korrekt
    Registriert seit
    Feb 2006
    Beiträge
    7

    Question [Flash MX 2004] - Abspielbutton erstellen?

    Hallo,

    ihr werdet es vielleicht nicht glauben, aber ich komme gerade nicht weiter:

    Nach dem sehr guten engl. Tutorial unter gotoAndLearn.com habe ich einen kleinen Video-Player für die Webseite erstellt.

    Jetzt stehe ich eigentlich nur vor einem Problem: Ich hätte gerne, dass der Film im Hintergrund bereits geladen wird, aber ein Play-Button in der Mitte prangt, der erst bei onRelease das Video abspielt... Wie bei YouTube.com eben.

    Aber bei mir läuft das Video sofort los und ich weiss im Mom. gar nicht, wie ich das machen soll. Das Problem ist, dass ich mit dem Tutorial alles schön nachmachen konnte, aber tatsächlich gearbeitet habe ich mit Flash eben schon Jahrelang nicht mehr... Bin schon froh, noch diese Version zur Verfügung zu haben.

    Als Tipp würde ich gern wissen, wie ich den Button einfüge, damit dieser den Film startet. Ich habe, wie im Tut angeraten, alle Elemente auf eigenen Layern positioniert und das ActionScript auf einer eigenen Ebene. Es existiert auch eine Buffering-Ebene, die dem Video vorgeschaltet ist, in dem sie darüber liegt. So ähnlich müsste eigentlich der Button auch funktionieren, aber ich komme im Augenblick nicht klar damit - kann doch nicht so schwer sein... Dachte ich... Hat jemand einen kleinen Tipp für mich?

    Danke schon mal!

    Lieben Gruß, Miriam

    Achso: vielleicht stellt sich jemand hier die Frage, weshalb ich nicht den Player von Funke und Funke genommen habe, der hier bereit gestellt wurde... Der ist top und wäre auch für meine Zwecke super, aber ich kann ihn nicht öffnen :-( - Mein Flash MX 2004 Edu Vers. 7.2 sagt immer: unexpected file format.
    Geändert von miriam.nord (04.10.2006 um 11:31 Uhr)

  2. #2
    TP-Senior jason voorhees macht sich hier sehr viel Mühe Avatar von jason voorhees
    Registriert seit
    Nov 2004
    Beiträge
    227
    Wird auf Komponenten zurückgegriffen? Da könntest du dann bei den Parametern einstellen ob es sofort abspielen soll. Erste Position.
    (Weiß jedoch nicht ob das für MX2004 auch zutrifft)

    Anonsten einfach mal die FLA posten (Würden die Mods jetzt wohl sagen )
    Ich kämpfe mit Flash Pro 8

  3. #3
    TP-Junior miriam.nord macht alles soweit korrekt
    Registriert seit
    Feb 2006
    Beiträge
    7

    keine Komponenten nee...

    Nein, der Player von dem Lee Brimelow ist ganz aus normal gezeichneten Sachen und AS

    Das AS sieht so aus:

    Code:
    var nc:NetConnection = new NetConnection();
    nc.connect(null);
    
    var ns:NetStream = new NetStream (nc);
    theVideo.attachVideo(ns);
    ns.play("http://mein-video-im.net/dsl.flv");
    //Das hab ich grad eingefügt aber noch nicht ausprobiert;
    //hier im Forum gefunden...
    autostart = true; // true = Autostart, false = kein Autostart
    if(autostart == false){
        pauseMovie(); 
    
    //Den kriege ich grade nicht zum Funktionieren, weil ich nicht weiss 
    //was der braucht.
    //ButtonPlay.onRelease = function(){
    //	?
    //	}
    
    ns.setBufferTime(10);
    ns.onStatus = function(info){
    	if(info.code == "NetStream.Buffer.Full"){
    		bufferClip._visible = false;
    	}
    	if(info.code == "NetStream.Buffer.Empty"){
    		bufferClip._visible = true;
    	}
    	if(info.code == "NetStream.Play.Stop"){
    		ns.seek(0);
    	}
    }
    //Die Buttons unterhalb des Videos, die einen VCR nachahmen sollen:
    rewindButton.onRelease = function(){
    	ns.seek(0);
    }
    
    playButton.onRelease = function(){
    	ns.pause();
    }
    
    //Die Dauer berechnen, damit die Verlaufsanzeige korrekt laufen kann:
    
    var videoInterval = setInterval(videoStatus,100);
    var amountLoaded:Number;
    var duration:Number;
    
    duration = 177.4
    
    function videoStatus(){
    	amountLoaded = ns.bytesLoaded / ns.bytesTotal;
    	loader.loadbar._width = amountLoaded * 222;
    	loader.scrub._x = ns.time / duration * 222;
    }
    
    var scrubInterval;
    //Der Schieber auf der Laufzeit-Anzeige:
    loader.scrub.onPress = function () {
    	clearInterval(videoInterval);
    	scrubInterval = setInterval(scrubit,10);
    	this.startDrag(false,0,this._y,215,this._y);
    }
    
    loader.scrub.onRelease = loader.scrub.onRelease.Outside = function() {
    	clearInterval(scrubInterval);
    	videoInterval = setInterval(videoStatus,100);
    	this.stopDrag();
    }
    
    function scrubit(){
    	ns.seek(Math.floor((loader.scrub._x / 222)*177.4));
    }
    
    function pauseIt(){
    	ns.pause();
    }
    
    function replayIt(){
    	ns.seek(0);
    }
    //Sound mute oder on:
    
    _root.createEmptyMovieClip("vSound", _root.getNextHighestDepth())
    vSound.attachAudio(ns);
    
    var so:Sound = new Sound(vSound);
    so.setVolume(100);
    
    mute.onRollOver = function(){
    	if(so.getVolume()==100) {
    		this.gotoAndStop("onOver");
    	}
    	else {
    		this.gotoAndStop("muteOver");
    	}
    }
    mute.onRollOut = function(){
    	if(so.getVolume()==100) {
    		this.gotoAndStop("on");
    	}
    	else {
    		this.gotoAndStop("mute");
    	}
    }
    mute.onRelease = function(){
    	if(so.getVolume()==100) {
    	so.setVolume(0);
    	this.gotoAndStop("muteOver");
    	}
    	else {
    		so.setVolume(100);
    		this.gotoAndStop("onOver");
    	}
    }
    Tja, ist also nur mit wenigen Elementen ausgestattet. Ich wollte jetzt einen Button zeichnen, der über der Buffer-Ebene liegt. Der soll dann eben starten und verschwinden, wenns Video lädt...
    Aber ich probiere immer noch hilflos herum...

    LG, Miriam

  4. #4
    TP-Junior miriam.nord macht alles soweit korrekt
    Registriert seit
    Feb 2006
    Beiträge
    7

    Thumbs up falls es noch jemanden interessiert: gelöst

    Also, wenn das noch für jemanden interessant sein sollte, poste ich hier mal die Lösung, die ich für mich gefunden habe:

    Das hier habe ich geändert:
    HTML-Code:
    ns.play("http://mein-video-im.net/dsl.flv");
    denn das steuert in meinem Beispiel ja das sofortige Abspielen.

    Den Abspiel-Button habe ich dann auf eine eigene Ebene gelegt, einen Instanz-Namen vergeben und dann im AS so angesprochen:

    HTML-Code:
    btn_Play.onRelease = function(){
    	ns.play("dsl.flv");
        }
    Ganz normal, ne? Eben wieder wie vorher das NetStream-Objekt mit Play.

    Da ich die Buffer-Ebene ja sowieso nach dem Laden ausblenden lasse, habe ich den Button einfach dazu gepackt:

    if(info.code == "NetStream.Buffer.Full"){
    bufferClip._visible = false;
    btn_Play._visible = false;
    }

    So hats dann auch mit dem doofen NetStream-Objekt gepasst. Ganz zufrieden bin ich nicht, da ja das Video nicht gestreamt wird, wenn nicht der Button gedrückt wurde... Naja, nu muss es auch so gehen.

    Zu besichtigen unter: http://froehlich-im.net

    Lieben Gruß euch allen,
    Miriam

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51