Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Songlänge von Liedern ermittel OHNE sie zu laden (https://www.delphipraxis.net/113966-songlaenge-von-liedern-ermittel-ohne-sie-zu-laden.html)

64Jabor 17. Mai 2008 12:53


Songlänge von Liedern ermittel OHNE sie zu laden
 
Hi DP,

ich bin gerade an einem recht großen MediaPlayer dran und hatte als nützliche Funktion eingeplant, dass man die Spielzeit eines Liedes in verschiedenen Varianten angezeigt bekommen soll.
Variante 1 ist hier die ganz normale, abgespielte Zeit des Liedes
Variante 2 die verbleibende Zeit (also "Länge - gespielte Zeit")

Diese beiden Varianten sind recht einfach, zumal sie ja für jeden Song geladen werden.
Nun sollen sich die Varianten 3 und 4 auf die gesamte PLAYLISTE beziehen.
Dabei finde ich es jedoch NICHT sinnvoll, erst jedes Lied in den Player zu laden und die jeweiligen Song-Längen zu addieren! Lieber wäre es mir, einfach direkt aus der Datei zu lesen, wie lange ihre Spieldauer ist.

Hat davon jemand Ahnung und weiß wie man sowas einliest?

mfg 64Jabor

mkinzler 17. Mai 2008 12:55

Re: Sonlänge von Liedern ermittel OHNE sie zu laden
 
Welches Format? Mp3 o.ä. beinhalten diese Informationen im Header

64Jabor 17. Mai 2008 12:56

Re: Songlänge von Liedern ermittel OHNE sie zu laden
 
mp3 und wma sind die beiden Formate die mein Player unterstützt - vorerst!
Was genau heißt Header? Am Anfang der Datei selbst, in Bytes geschrieben oder wie?

mkinzler 17. Mai 2008 12:56

Re: Songlänge von Liedern ermittel OHNE sie zu laden
 
Ja genau.

Muetze1 17. Mai 2008 12:58

Re: Sonlänge von Liedern ermittel OHNE sie zu laden
 
Zitat:

Zitat von mkinzler
Mp3 o.ä. beinhalten diese Informationen im Header

Echt? Wo? Ich hatte mir bisher die Mühe gemacht über die Bitrate und der Datengrösse die Spielzeit auszurechnen.

@64Jabor: Das ist aber auch der grundlegende Weg. Bei manchen komprimierten Formaten steht wirklich eine Länge in der Datei (sind aber die wenigstens), aber ansonsten berechnen. Mit der Bitrate bzw. der Formatspezifikationen (Frequenz, Kanäle, Datengrösse, etc) bei unkomprimierten Daten, kann man sich die Spielzeit errechnen.

Und von wegen nicht Öffnen: Öffnen musst du die Dateien für diese Informationen so oder so, aber wenn du es nicht über den Mediaplayer machen willst (Vermutung), dann musst du die Dateien selbst öffnen, das Format erkennen und anhand der vielen Format-Spezifikationen deine entsprechenden Informationen auslesen.

64Jabor 17. Mai 2008 13:01

Re: Songlänge von Liedern ermittel OHNE sie zu laden
 
In dem gesamten Thread steht von mir nicht einmal das Wort "öffnen" ;)
Aber wenn du mein "laden" meinst, dann vermutest du richtig, wenn du meinst dass man die Datei in dem Player lädt und danach wieder entlädt.
Ich dachte mir einfach dass es sehr ressourcenaufwendig wäre, aber da man jede Datei logischerweise öffnen MUSS, stellt sich die Frage ob das viel weniger aufwendig ist...

Muetze1 17. Mai 2008 13:07

Re: Songlänge von Liedern ermittel OHNE sie zu laden
 
jo, meinte Laden. Hatte dein Originalbeitrag nicht Wort-für-Wort im Kopf beim tippen der Antwort, sorry

mkinzler 17. Mai 2008 13:09

Re: Songlänge von Liedern ermittel OHNE sie zu laden
 
Zitat:

Echt? Wo? Ich hatte mir bisher die Mühe gemacht über die Bitrate und der Datengrösse die Spielzeit auszurechnen.
Habe mich vielleicht etwas missverständlich ausgedrückt.
http://de.wikipedia.org/wiki/MP3#Spezifikation

64Jabor 17. Mai 2008 15:33

Re: Songlänge von Liedern ermittel OHNE sie zu laden
 
@Muetze1
:P

@mkinzler
also bei dem wikipedia-Eintrag wird mir ja schwindlich xD
DANN nutze ich doch lieber den koventionellen Weg über das Laden aller Lieder der PlayList...

Thx JunX

Gausi 17. Mai 2008 16:03

Re: Songlänge von Liedern ermittel OHNE sie zu laden
 
Mit meinen Mp3FileUtils kann man sich auch recht fix die Spieldauer einer MP3-Datei anzeigen lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz