Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-05-2005, 11:54   #1 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
warum funktioniert die anzeige nicht? bitte um hilfe

ich lade mir eine flv über das as aus der flash-hilfe:
ActionScript:
  1. // NetConnection Objekt anlegen
  2. var netConn:NetConnection = new NetConnection();
  3. // lokale Verbindung erstellen
  4. netConn.connect(null);
  5. // NetStream objekt anlegen onStatus() funktion erstellen
  6. var netStream:NetStream = new NetStream(netConn);
  7. netStream.onStatus = function(infoObject) {
  8.     status_txt.text += "Status (NetStream)"+newline;
  9.     status_txt.text += "Level: "+infoObject.level+newline;
  10.     status_txt.text += "Code: "+infoObject.code+newline;
  11. };
  12. // meta daten empfangen
  13. netStream.onMetaData = function(obj) {
  14.     duration = Math.round(obj.duration);
  15.     videolaenge = duration;
  16.     trace("stream_ns ::: onMetaData");
  17.     trace("duration: "+obj.duration);
  18.     trace("videodatarate: "+obj.videodatarate);
  19.     trace("audiodatarate: "+obj.audiodatarate);
  20.     trace("----------------------------------------------");
  21. };
  22. // NetStream video einem Videoobjekt zuweisen
  23. my_video.attachVideo(netStream);
  24. // Set buffer time
  25. netStream.setBufferTime(5);
  26.  
  27. // Abspielen des FLV-Files beginnen
  28. var videodateiname = "mein_video.flv";
  29. // pfad erstellen ################### hier den dateinamen eintragen
  30. netStream.play(videodateiname);

und dazu hätte ich gern, dass ein balken und ein prozent-textfeld den ladestatus anzeigt, das heisst unter dem o.a. script habe ich mir das zusammengebastelt - es funktioniert aber nicht - was ist hier falsch?
ActionScript:
  1. percentBar.onEnterFrame = function() {
  2.     geladen = this._parent.netStream.getBytesLoaded;
  3.     gesamt = this._parent.netStream.getBytesTotal;
  4.  
  5. //wenn ich es ohne "get" mache (wie in der hilfe beschrieben) geht's auch nicht!!!!!!!
  6.  
  7.     if (geladen == gesamt && geladen>1000) {
  8.         percentBar._width = 257.8;
  9.        
  10.         } else {
  11.             prozent = Math.round(geladen/zuladen*100);
  12.             percentBar._xscale = prozent;
  13.  
  14.             this.prozentanzeige.text = prozent+" %";
  15.             this.percentBar._xscale = prozent;
  16.             delete this.onEnterFrame;
  17. }
  18. };
BITTE MELDET EUCH, VIIIEEELEEEN DAAANK IM VORAUS!
__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix

Geändert von thom.k (03-05-2005 um 11:55 Uhr)
thom.k ist offline   Mit Zitat antworten
Alt 03-05-2005, 12:45   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Kannst Du das nicht mit einen kleinen Video mal als bsp anhängen, bin immer zu faul das dann selber nachzubauen, aber ich will ja auch immer mal was dazu lernen.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 03-05-2005, 13:42   #3 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
@rendner[i]: klar hier ist die fla mit dem video player, hat den vorteil, gegenüber von der komponente dass du das layout selbst bestimmen kannst und die swf ist ca. 1KB groß (die swf mit der komponente hat um die 60KB)

alles was du dazu brauchst ist ein video, das du als flv umkonvertierst, das kannst du mit quicktime (lizenzierte version - kostet um die 30-40 euro) oder auch mit after effects machen, es geht auch mit flash, wenn du das video erst importierst und dann als flv exportierst und es sollen auch einige kostenlose encoder im netz zu finden sein (einfach bisschen rumgooglen) oder hier gucken

vielleicht kommst du ja drauf wie ich den ladebalken zum laufen bringe??
Angehängte Dateien
Dateityp: zip flv_player.zip (12,3 KB, 43x aufgerufen)
__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix

Geändert von thom.k (03-05-2005 um 17:30 Uhr)
thom.k ist offline   Mit Zitat antworten
Alt 03-05-2005, 16:10   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Hab mal einen eingebaut (Preloader), musste Dir mal umbauen.
Hoffe das wars was Du wolltest.
Mensch das mit dem Video-Zeugs is ne feine Sache, müsste ich mir auch mal angucken.
Habe leider nicht so die Projekte und alleine kommt man nicht drauf.
ActionScript:
  1. // NetConnection Objekt anlegen
  2. var netConn:NetConnection = new NetConnection();
  3. // lokale Verbindung erstellen
  4. netConn.connect(null);
  5. // NetStream objekt anlegen onStatus() funktion erstellen
  6. var netStream:NetStream = new NetStream(netConn);
  7.  
  8. // Preloader, weil Du keinen hattest
  9. _root.createEmptyMovieClip("loader", 800);
  10. with( _root.loader ){
  11.     _x = _y = 150;
  12.     beginFill(0x045363);
  13.     lineTo( 0, 4);
  14.     lineTo( 100, 4);
  15.     lineTo( 100, 0);
  16.     lineTo( 0, 0);
  17.     endFill();
  18.     _xscale = 0;
  19. }
  20.  
  21. netStream.onStatus = function(infoObject) {
  22.     var prozent = int( this.bytesLoaded / this.bytesTotal *100  );
  23.     _root.loader._xscale += prozent
  24.     status_txt.text += "Preloader: " + prozent + " % \n";
  25.     status_txt.text += "Status (NetStream)"+newline;
  26.     status_txt.text += "Level: "+infoObject.level+newline;
  27.     status_txt.text += "Code: "+infoObject.code+newline;
  28. };
  29. /*
  30. // meta daten empfangen
  31. netStream.onMetaData = function(obj) {
  32.     duration = Math.round(obj.duration);
  33.     videolaenge = duration;
  34.     trace("stream_ns ::: onMetaData");
  35.     trace("duration: "+obj.duration);
  36.     trace("videodatarate: "+obj.videodatarate);
  37.     trace("audiodatarate: "+obj.audiodatarate);
  38.     trace("----------------------------------------------");
  39. };
  40. */
  41. // NetStream video einem Videoobjekt zuweisen
  42. my_video.attachVideo(netStream);
  43. // Set buffer time
  44. netStream.setBufferTime(5);
  45.  
  46. // Abspielen des FLV-Files beginnen
  47. var videodateiname = "http://www.tekatris.de/aktuell_flash/babyschwimmen_4.flv";
  48. // pfad erstellen ################### hier den dateinamen eintragen
  49. // mit dem hier angegebenen pfad siehst du meine flv vom server
  50. netStream.play(videodateiname);
  51. ///////////////////////////////////////////////////////////////////////////////////////////////////
  52.  
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 03-05-2005, 16:23   #5 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
hast du das getestet?
läuft nicht so ganz der abspielkopf bleibt jetzt in der mitte hängen und jedesmal beim betätigen fängt der film von vorne an und der preloader ändert seine breite nicht, genauso wie die prozentanzeige
__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix
thom.k ist offline   Mit Zitat antworten
Alt 03-05-2005, 16:29   #6 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Kopier es einfach mal so rein, bei mir ging das.
Der blaue Ladebalken müsste eigentlich nicht zu sehen sein, nur wenn geladen wird, wird der sichtbar.

Und warum der Regler mittig sitzt und so "rumspinnt" kann ich Dir auch nicht sagen.
Aber das hat er schon vorher gemacht.
__________________
ERROR: Signature is too large

Geändert von rendner[i] (03-05-2005 um 16:31 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 03-05-2005, 16:55   #7 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
voraussetzung für die verwendung des player-scripts ist das hinzufügen von:

ActionScript:
  1. function onMetaData(info:Object):Void;

in der datei "NetStream.as" (findet man im ordner Flash MX 2004\de\First Run\Classes).
einfach unter die anderen funktionen kopieren. das ermöglicht erst das auslesen der metadaten eines flv-files.
__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix

Geändert von thom.k (03-05-2005 um 17:01 Uhr)
thom.k ist offline   Mit Zitat antworten
Alt 03-05-2005, 17:27   #8 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
hallo leute, gibt es sonst keiner mehr, der sich damit auskennt?
__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix
thom.k ist offline   Mit Zitat antworten
Alt 03-05-2005, 18:15   #9 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Also das was ich geschrieben hatte, ist stuss!
Wozu willst Du nen Preloader wenn das ein Streaming ist?
Du spielst das doch schon ab, wenn ein gewisser teil in Deinem Puffer ist.

Habe mir mal aun Netz ein flv-Video gezogen und das hat keine Meta-Daten oder die Funktion funktioniert nicht, der gibt nix aus.
Geht das bei Dir?
Wenn ja, kannst dann mal das Video posten, damit ich auch eins mit Meta-Daten habe?
__________________
ERROR: Signature is too large

Geändert von rendner[i] (03-05-2005 um 18:31 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 03-05-2005, 18:28   #10 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
ich will ja nicht dass die flv vorgeladen wird bevor sie abgespielt wird, ich will nur dass der streaming-status angezeigt wird, damit user mit 'ner schwacheren leitung sehen: da kommt was, siehe hier .
__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix
thom.k ist offline   Mit Zitat antworten
Alt 03-05-2005, 19:24   #11 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Also der Abspielknopf funktioniert jetzt mit diesem Script (weist ja wo der hin muss, ganz unten siehst Du dann schon).
ActionScript:
  1. onClipEvent (enterFrame) {
  2.     if (zustand == "run") { // abspielkopf darf mitlaufen
  3.         scratchPos =  100* this._parent.netStream.time / this._parent.videolaenge + startPos;
  4.         if( scratchPos == Infinity) scratchPos = startPos;
  5.         this._x = scratchPos;
  6.     }
  7. }
__________________
ERROR: Signature is too large

Geändert von rendner[i] (03-05-2005 um 19:28 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 03-05-2005, 19:28   #12 (permalink)
Gimbel Deluchs
 
Registriert seit: Apr 2004
Ort: Wieder da!
Beiträge: 153
bin mir nicht sicher aber der Video aus Deinem Beispiel könnte auch new swf sein, die per MovieClipLoader geladen wird. Meine mich zu erinnern, dass man bei flv. Files den Progress und die Frames/Bytes Total nur mit nem Flash-Com-Server auslesen kann.....


EDIT: Scheint wohl doch zu gehen, schau mal hier NetStream object abfragen

Geändert von Mr.Dauerfeuer (03-05-2005 um 19:33 Uhr)
Mr.Dauerfeuer ist offline   Mit Zitat antworten
Alt 03-05-2005, 21:37   #13 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
jetzt ist der abspielkopf zwar nicht mehr in der mitte sondern ganz links, läuft aber immer noch nicht mit dem film mit und man kann ihn nicht bedienen und die streaming-anzeige auch nicht - hmm
__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix
thom.k ist offline   Mit Zitat antworten
Alt 04-05-2005, 07:58   #14 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Mensch mensch mensch, ich Depp, das Script war richtig, hatte bloss zwischenzeitlich ein Video was keine Meta's hatte.
Hier wieder der richtige Script vom aktuellen Status:
ActionScript:
  1. onClipEvent (enterFrame) {
  2.     if (zustand == "run") { // abspielkopf darf mitlaufen
  3.         scratchPos = (this._parent.netStream.time/this._parent.videolaenge*finalPos)+startPos;
  4.         this._x = ( scratchPos != Infinity) ? scratchPos : startPos;
  5.     }
  6. }

Und das hin und her setzen des Abspielknopfes funtzt bei mir.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 04-05-2005, 10:33   #15 (permalink)
HollyMolly
 
Benutzerbild von thom.k
 
Registriert seit: Apr 2004
Beiträge: 291
sorry läuft nicht: abspielkopf und streaming-anzeige laufen nicht
__________________
gruß
thom.k
_________________________
menü tutorial; flv-player; my page
besser a bissl was wissn, als gar nix
thom.k ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:22 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele