AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Hohe "Ladezeit" bei vielen MP3 Dateien (FindAllFiles)
Thema durchsuchen
Ansicht
Themen-Optionen

Hohe "Ladezeit" bei vielen MP3 Dateien (FindAllFiles)

Ein Thema von strange-t · begonnen am 26. Jun 2007 · letzter Beitrag vom 30. Jun 2007
Antwort Antwort
Seite 1 von 2  1 2      
strange-t

Registriert seit: 9. Mär 2007
Ort: Saarland
13 Beiträge
 
Delphi 7 Enterprise
 
#1

Hohe "Ladezeit" bei vielen MP3 Dateien (FindAllFil

  Alt 26. Jun 2007, 13:47
Hi,
ich habe eine Art JukeBox programmiert.
Man kann auswählen welche Ordner man zur Auswahl der MP3's "freigibt".
Ich durchsuche die Ordner dann mit FindAllFiles aus der CodeLib auf Dateien mit der Endung "*.mp3".

Bei einigen GB an Dateien dauert das allerdings ewig. :-/
Wie könnte ich das denn anders machen damit es schneller geht? Vielleicht was anderes als FindAllFiles oder so...

Notfalls hab ich mir auch schon überlegt dieses Durchsuchen einmal nach dem "Freigeben" durchrattern zu lassen und alle gefundenen MP3 Dateien dann in TXT Dateien (z.B.) schreiben zu lassen.

Später würde ich dann nur auf diese TXT Dateien zugreifen.
Aber ich weiss nicht ob das so einfach geht bzw. ob das nicht jedesmal genau so lange dauert...


Bin für jede kleine Idee dankbar!

Gruß
Torsten
Torsten
  Mit Zitat antworten Zitat
bigg
(Gast)

n/a Beiträge
 
#2

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl

  Alt 26. Jun 2007, 14:02
Das reine Auflisten von 500-1000 Dateien in einem einzelnen Verzeichnis dauert nicht sehr lange. In unter 1 Sekunde sollte das erledigt sein. Durchsucht du allerdings sehr viele Verzeichnisse dauert das Suchen unter Umständen sehr lange, je nach Verzeichnistiefe und Anzahl enthaltender Dateien etc.

Liest du dann zusätzlich noch deren ID3-Tags aus, dauert es in jedem Fall sehr lange. Ich vermute mal, das du das sogar tust. Hier dürfte dann auch das Hauptproblem zu finden sein.

Aber bevor ich hier noch alle restlichen Fälle aufmale, poste doch mal eine kleine Demo deines Programms.
  Mit Zitat antworten Zitat
laserflor

Registriert seit: 8. Sep 2005
Ort: Berlin
6 Beiträge
 
Delphi 5 Professional
 
#3

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl

  Alt 26. Jun 2007, 14:05
Hallo Torsten,

Dein Vorhaben in allen Ehren .. aber Jukebox-Programme gibts doch wie Sand am Meer

Guck Dir mal MediaMonkey an. Das ist das, was mir bisher am besten gefallen hat

Gruß Rolf
  Mit Zitat antworten Zitat
strange-t

Registriert seit: 9. Mär 2007
Ort: Saarland
13 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl

  Alt 26. Jun 2007, 14:33
ui, das geht ja schnell hier

@bigg:
hast recht, ich lese die ID3 Tags aus. Voll vergessen zu erwähnen.
Ich werde das mal weglassen und schauen ob es schneller geht. Dann weiss ich ja wo ich dran arbeiten muss!
DANKE!!!


@laserflor:
Ja, hast recht. Da gibt es wirklich tausende. Habe auch schon viele getestet und nicht eine hat mir wirklich zugesagt.
MediaMonkey war natürlich auch dabei. Das war zwar für mich die zweitbeste aber immernoch nicht das was ich wollte *ggg*.
Deshalb schreib ich mir halt ne eigene.
Funzt ja auch schon einigermaßen. Hauptproblem ist eben das mit der Ladezeit.
Trotzdem danke für deinen Hinweis.


LG
Torsten
Torsten
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl

  Alt 26. Jun 2007, 14:52
Einfach so als Anregung:

Speicher doch die Daten in einer DB. Das dauert dann zwar einmal sehr lange, aber dafür läufts danach schnell und du kanns sogar sehr schnell nach Titel, Intepret usw. suchen.

Nachteil:

Wenn neue MP3's dazu kommen mußt du natürlich die DB aktuallisieren.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
laserflor

Registriert seit: 8. Sep 2005
Ort: Berlin
6 Beiträge
 
Delphi 5 Professional
 
#6

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl

  Alt 26. Jun 2007, 15:55
@Ghostwalker:
Datenbank ist ein guter Ansatz
Ich habe mich auch jahrelang mit dem Thema MP3-Katalog beschäftigt und bin dabei darauf gekommen, dass die BDE bei über 4.000 Datensätzen (die hatten so ca. 500 Byte pro Datensatz und über 100 Byte pro Index) fast in eine Art Schlafmodus fällt .. also extrem langsam wird.

@strange-t:
Das einzige, was mir einfallen würde, was ich zusätzlich bräuchte:
Eine Analyse der Titel, damit ich sie nach Sprachen einordnen kann.. Immerhin kann IMHO in MySQL sogar Soundex als Index benutzen.. Ich überlege, ob ich da noch was investiere
Als Tipp: Nimm gleich Interbase oder FireBird .. oder halt MySQL.
Ein gutes Tutorial zum Thema findest Du hier Interbase
(Ich hoffe, dass "Fremdwerbung" nicht unerwünscht ist, sonst müsste mir der Moderator eine PN schicken.)

Gruß Rolf
  Mit Zitat antworten Zitat
bigg
(Gast)

n/a Beiträge
 
#7

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl

  Alt 26. Jun 2007, 16:19
Häh, Datenbank?
Ist das nicht etwas überdimensoniert?

Eine TList in Verbindung mit Mergesort ist alles was man für die Verwaltung der Daten benötigt. Anschließend könnte man sich Reports für Excel oder HTML-Tabellen erstellen lassen.

Ist man dazu auch noch zu faul nimmt man wie ich das VT und lässt die Liste dort anzeigen. Und um die Performance der Anwendugn zu optimieren, liest man nicht alle Dateien in einem Rutsch aus, sondern nur die die auch im VT oder in einer Listview momentan angezeigt werden.
Miniaturansicht angehängter Grafiken
mp3-tageditor_148.png  
  Mit Zitat antworten Zitat
strange-t

Registriert seit: 9. Mär 2007
Ort: Saarland
13 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl

  Alt 26. Jun 2007, 17:38
so, wenn ich das ID3 Tag auslesen weg lasse, geht das wirklich richtig schnell...

an eine datenbank hab ich auch schon gedacht. allerdings kenne ich mich da noch gar nicht aus.
aber was nicht ist, kann ja noch werden.

@bigg:
nur auslesen was auch in der listview angezeigt wird geht leider nicht so ganz,
da in der listview nunmal der komplette ordnerinhalt angezeigt werden muss *ggg*.
was du mit TList und Mergesort meinst, weiß ich grad net... sorry

ich habe das jetzt allerdings erstmal weg gelassen und in der listview wird wirklich nur das angezeigt was auch durch eine manuelle sucheingabe gefunden wurde. das geht dann recht flott, auch mit ID3 Tags.
muss mich dann mal mit DB befassen oder eine andere lösung finden.
weiss nicht zufällig jemand wie das z.B. in mediamonkey gespeichert wird?
da muss man ja auch einmal alles einlesen und danach gehts auch recht schnell wenn ich mich richtig erinnere.

@laserflor:
danke für die tips und den link! kann ich gut gebrauchen wenn ich mich für ne DB entscheide


so, dann werd ich mal sehen wie's weitergeht lol

danke schonmal für die antworten.
falls es noch weitere ideen, tips oder hilfe gibt, nur zu...

lg
torsten
Torsten
  Mit Zitat antworten Zitat
bigg
(Gast)

n/a Beiträge
 
#9

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl

  Alt 26. Jun 2007, 18:08
Haste schonmal gesehen wie das der Windows-Explorer macht unter XP?
Dieser liest nur die Infos, die der Benutzer auch tatsächlich sieht ein und speichert sie zwischen.

Du kannst ja deine Einträge mit dem Dateinamen eintragen und beim runterscrollen
liest du dann die einzelnen Dateien ein. Ein Flag kennzeichnet dann, ob die Datei schonmal
eingelesen wurde. Macht Winamp und Co. ebenso.
  Mit Zitat antworten Zitat
strange-t

Registriert seit: 9. Mär 2007
Ort: Saarland
13 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl

  Alt 26. Jun 2007, 18:18
hey, stimmt!!!
daran hab ich noch gar net gedacht. das is die idee schlechthin lol
danke!!!

öööhhhh, aber wie funzt das??? lol

hast du da n beispiel-programm oder so?
ich arbeite mit ner listview im vsReport-Style.
in der caption hab ich den Pfad und in den anderen teilen eben Interpret, Titel usw.

THX!!!!

lg
Torsten
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 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