Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-10-2005, 14:18   #1 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
Abspiel und buffer Anzeige

Hallo Leute

ich versuche schon seit einiger zeit einen kleinen mp3 player für meine seite zu basten. ich habs bis jetzt immer mit dem sound objekt hinbekommen da man ja so schön streamen kann. Nu isses aber so das ich neben dem sound auch noch die abspielposition und den buffer status anzeigen lassen will.

Ich hab im Forum nur ein thema gefunden: link

bin aber nicht schlau daraus geworden. scheint ziemlich rahr zu sein...deswegen frag ich mal nach jemand ein TUT oder einen TIP hat

liebe grüsse aus dem sonnigen freiburg

daniel
dabinjo ist offline   Mit Zitat antworten
Alt 12-10-2005, 15:09   #2 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
also durch die zaubertaste f1 bin ich mittlerweile soweit gekommen:

ActionScript:
  1. var pb_height:Number = 10;
  2. var pb_width:Number = 300;
  3. var pb:MovieClip = this.createEmptyMovieClip("progressBar_mc", this.getNextHighestDepth());
  4. pb.createEmptyMovieClip("bar_mc", pb.getNextHighestDepth());
  5. pb.createEmptyMovieClip("vBar_mc", pb.getNextHighestDepth());
  6. pb.createEmptyMovieClip("stroke_mc", pb.getNextHighestDepth());
  7.  
  8. pb._x = 100;
  9. pb._y = 100;
  10.  
  11. with (pb.bar_mc) {
  12.    beginFill(0xcccccc);
  13.    moveTo(0, 0);
  14.    lineTo(pb_width, 0);
  15.    lineTo(pb_width, pb_height);
  16.    lineTo(0, pb_height);
  17.    lineTo(0, 0);
  18.    endFill();
  19.    _xscale = 0;
  20. }
  21. with (pb.vBar_mc) {
  22.    lineStyle(1, 0x000000);
  23.    moveTo(0, 0);
  24.    lineTo(0, pb_height);
  25. }
  26. with (pb.stroke_mc) {
  27.    lineStyle(1, 0x000000);
  28.    moveTo(0, 0);
  29.    lineTo(pb_width, 0);
  30.    lineTo(pb_width, pb_height);
  31.    lineTo(0, pb_height);
  32.    lineTo(0, 0);
  33. }
  34.  
  35. var my_interval:Number;
  36. var my_sound:Sound = new Sound();
  37. my_sound.onLoad = function(success:Boolean) {
  38.    if (success) {
  39.       trace("sound loaded");
  40.    }
  41. };
  42. my_sound.onSoundComplete = function() {
  43.    clearInterval(my_interval);
  44.    trace("Cleared interval");
  45. }
  46. my_sound.loadSound("track.mp3", true);
  47. my_interval = setInterval(updateProgressBar, 100, my_sound);
  48.  
  49. function updateProgressBar(the_sound:Sound):Void {
  50.    var pos:Number = Math.round(the_sound.position / the_sound.duration *100);
  51.    pb.bar_mc._xscale = pos;
  52.    pb.vBar_mc._x = pb.bar_mc._width;
  53.   // pos_txt.text = pos + "%";
  54. }


jetzt fehlt mir eigentlich nur noch der sound buffer und die anzeige dazu...weiss jemand wie das funktioniert??
dabinjo ist offline   Mit Zitat antworten
Alt 12-10-2005, 15:12   #3 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Was verstehst du denn unter dem "Buffer"..? Wie viel schon geladen wurde? Das hat Scrawer in dem anderen Thread aber doch erklärt, wenn ich das richtig gesehen hab, oder..?
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 12-10-2005, 15:25   #4 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
ja... es soll anzeigen wieviel schon geladen wurde...b.z.w den buffer status
ich bin nur verwirrt weil ich nicht weiss ob ich mit duration ( zeigt die dauer des liedes an?) oder soundLengSec ( weiß nicht was das ist) angeben soll...
dabinjo ist offline   Mit Zitat antworten
Alt 12-10-2005, 15:28   #5 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Wie viel schon geladen wurde, sagt dir doch 'Sound.getBytesLoaded()'...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 12-10-2005, 15:36   #6 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
ich werds mal ausprobieren...studieren...wie auch immer . aber mal danke
dabinjo ist offline   Mit Zitat antworten
Alt 12-10-2005, 16:39   #7 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
irgendwie geht garnix, ich komm nicht weiter. die musik kommt zwar aber die fortschrittsanzeige ist total zerschossen.

hier mal reinschauen: link

oder funzt es bei euch??
dabinjo ist offline   Mit Zitat antworten
Alt 12-10-2005, 23:46   #8 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
sooo. mit dem gehts endlich, puh! AAber, wie bekomme ich es hin das der player gleich von Anfang spielt und nicht erst wenn man auf play drückt ?

ActionScript:
  1. anzeige_mc._visible = false;
  2. // anzeige_mc ist ein MovieClip in dem der pointer_mc und ladeb_mc liegt
  3. anzeige_mc.pointer_mc._visible = false;
  4. stopit.onRelease = function() {
  5.         // stopit ist ein Button auf der Ebene um den Sound zu stoppen
  6.         _root.my_sound.stop();
  7.         anzeige_mc._visible = false;
  8.         delete _root.anzeige_mc.pointer_mc.onEnterFrame;
  9.         delete _root.anzeige_mc.onEnterFrame;
  10. };
  11. edenlow1.onRelease = function() {
  12.         // edenlow1 ist ein Button um den Song zu starten
  13.         _root.my_sound.stop();
  14.         //stoppen, damit er nicht weiter läuft, während ein anderes Lied läuft
  15.         delete _root.my_sound;
  16.         //muss deleted werden um die anzeige zurückzusetzen
  17.         _root.my_sound = new Sound(this);
  18.         //demnach dann hier wieder nen neuer gemacht werden^...
  19.         playSound("track.mp3", true);
  20.         _root.showPointer();
  21. };
  22. playSound = function (snd, stream) {
  23.         my_sound.loadSound(snd, stream);
  24.         trace(snd);
  25.         trace(stream);
  26.         anzeige_mc._visible = true;
  27.         anzeige_mc.ladeb_mc._xscale = 0;
  28.         anzeige_mc.onEnterFrame = function() {
  29.                 this.loadedB = _root.my_sound.getBytesLoaded();
  30.                 // Bereis geladene Menge des Songs in Bytes
  31.                 trace(this.loadedB+' geladene Bytes');
  32.                 this.toloadB = _root.my_sound.getBytesTotal();
  33.                 // Gesamtlänge des Songs in Bytes
  34.                 trace(anzeige_mc.toloadB+' zu ladene Bytes');
  35.                 this.prozent = this.loadedB/this.toloadB*100;
  36.                 // Bereits geladene Prozent des Songs
  37.                 trace(this.prozent+'% beim loader');
  38.                 this.ladeb_mc._xscale = this.prozent;
  39.                 // Die Ladeanzeige skaliert sich um die Prozentzahl
  40.                 trace(this.ladeb_mc._xscale+'_xscale');
  41.                 // if (this.loadedB>=this.toloadB) {
  42.                 // delete this.onEnterFrame;
  43.                 // }
  44.         };
  45. };
  46. showPointer = function () {
  47.         anzeige_mc.pointer_mc._visible = true;
  48.         anzeige_mc.pointer_mc.onEnterFrame = function() {
  49.                 this.sndPos = _root.my_sound.position/1000;
  50.                 // Aktuelle Position des Songs in Sekunden
  51.                 trace(this.sndPos+'pos');
  52.                 this.sndLength = Math.round((_root.my_sound.getBytesTotal()/1024)/(160/8));
  53.                 // GesamtLänge des Sounds in Sekunden aber gerundet
  54.                 trace(anzeige_mc.pointer_mc.sndLength+' = Sound länge');
  55.                 this.prozent = (this.sndPos/this.sndLength)*100;
  56.                 // Prozent des Abgespielten Sounds
  57.                 trace(this.prozent+'%');
  58.                 this._x = this.prozent*(161/100);
  59.                 // pointer_mc wandert auf der x-Achse um die Prozentzahl vor
  60.                 trace(this._x+'_x');
  61.                 // if (this.sndPos>=this.sndLength) {
  62.                 // delete this.onEnterFrame;
  63.                 // }
  64.         };
  65. };
dabinjo 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 04:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele