MP3 Fortschritsanzeige

liquidbeats

Erfahrenes Mitglied
Nabend,

Ich würde gerne eine MP3 Fortschriftsanzeige Realisieren.
so wie man es aus Winamp, Relplayer und co her kennt.
Man soll also damit zu irgendeiner Position des Liedes springen können.

Wie realisiert man sowas?


Danke und Gruß
 
Hi,

Sound.position und Sound.start() sollten Dir weiterhelfen. Beachte, dass erstere Eigenschaft einen Wert in Milisekunden zurückgibt, wärend die play-Methode einen Wert in Sekunden erwartet (sprich: durch 1000 teilen).

Gruß
.
 
Hi,

Bzgl. der Zeit habe ich dieses schon mitbekommen.
position und duration habe ich schon soweit alles herrausfinden können.

Das einzige wo es jetzt Hapert ist, wie ich solch einen Balken realisiert bekomme, mit dem man innerhalb des Liedes hin und her fahren kann, um an verschiedenen positionen abspielen zu lassen usw.

Irgendwie ist mir nicht ganz klar wie ich sowas Realisieren soll :rolleyes:

grüße
 
Naja:

Du nimmst:

a) die Breite des gesamten Forschrittbalkens abzüglich der Breite des "Anfassers"

b) die horizontale Position des Anfassers relativ zum Fortschrittsbalken ( damit kannst Du die prozentuale Position berechnen: anfasser._x * 100 / (balken._width- anfasser._width) )

c) Die Gesamtlänge des Sounds (Sound.duration)

Die entsprechende Abspielposition erhälst Du dann, indem Du den vorher ermittelten Prozentwert mit der Soundlänge multiplizierst und den Wert durch 100 teilst: prozent * Sound.duration / 100

Damit kannst Du der play-Methode nun den richtigen (durch 1000 geteilten) Wert übergeben.

Das Verschieben des Anfassers löst Du, indem Du bei onPress eine startDrag-Methode ausführst, die Du bei onRelease/onReleaseOutside wieder löschst.

Gruß
.
 
Nabend,

vielen Dank.
Das hilft, der Curser (so nenn ich den mal) Positioniert sich jetzt Ordentlich.
das klappt.

nur habe ich etwas Schwierigkeiten mit dem startDrag, das ist mir vollkommen neu und ich habe damit noch nicht gearbeitet.
mal schauen, ich denke das bekomme ich auch noch hin :)

Vilen Dank.
Grüße
 
Kleiner Tipp: Wenn der Balken horizontal liegt, würde ich folgendes probieren:
Code:
anfasser.onPress = function() {
    this.startDrag(false, 0, 0, balken._width - this._width, 0);
}

anfasser.onRelease = anfasser.onReleaseOutside = function() {
    this.stopDrag();
    position_ermitteln_und_sound_einstellen();
}

Gruß
.
 
Zurück