AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi ID3 Viel zu langsam beim lesen
Thema durchsuchen
Ansicht
Themen-Optionen

ID3 Viel zu langsam beim lesen

Ein Thema von napsterxx · begonnen am 4. Aug 2007 · letzter Beitrag vom 7. Aug 2007
Antwort Antwort
Seite 1 von 2  1 2      
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#1

ID3 Viel zu langsam beim lesen

  Alt 4. Aug 2007, 13:44
Informationen aus MP3 Dateien zu lesen geht ja ganz gut, solang das nicht viele sind. Sind das aber mal 1000-2000 dann dauert das... und zwar echt lange. Deshalb wollte ich meinen Media Player umstrukturieren, dass er die Infos aus mp3 Dateien schneller liest. Aber wie? DSA dauert immernoch verdammt lange. Benutze die Jedis... Kann jemand helfen ?
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: ID3 Viel zu langsam beim lesen

  Alt 4. Aug 2007, 13:53
Wie lange dauert das denn bei dir? Mit meinen mp3FileUtils schaffe ich ca. 25-50 Dateien pro Sekunde (je nach Datenträger, auf dem die mp3s liegen). Ausgelesen wird dabei Id3v1 und v2-Tag sowie diverse Infos wie Bitrate, Dauer etc.
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#3

Re: ID3 Viel zu langsam beim lesen

  Alt 4. Aug 2007, 14:40
Also, wenn ich dem Media Center oder Media Player meine komplette Bibliothek zum Einlesen gebe, ist der auch schon ein paar Minuten beschäftigt. Find ich jetzt nicht direkt ungewöhnlich. Was ist denn für dich "verdammt lange"?
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#4

Re: ID3 Viel zu langsam beim lesen

  Alt 4. Aug 2007, 14:41
du könntest es vllt. optimieren wenn du es auf mehreren Threads aufteilst oder du optimierst den code der es ausließt
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: ID3 Viel zu langsam beim lesen

  Alt 4. Aug 2007, 14:55
Schon mal kontrolliert wo genau die Zeit verbraten wird (z.B. mit AQTime). Es könnte ja neben dem Festplattenzugriff die Laderoutine einfach nicht optimal Programmiert worden sein (z.B. zu häufige GUI-Aktualisierungen)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: ID3 Viel zu langsam beim lesen

  Alt 6. Aug 2007, 12:48
Also ich sag mal die ersten 1000 songs gehn sehr schnell, ich habe eine Progressbar eingebaut, aber dann dauert das... vll insgesammt 2min. Beim Media Player 11 geht dsa in 2sekunden... mp3FileUtils hab ich auch probiert. Macht kein unterschied im gegensatz zu den jedis.
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: ID3 Viel zu langsam beim lesen

  Alt 6. Aug 2007, 12:53
Ich glaube nicht, dass der WMP 1000 Dateien (also ca. 3GB) in 2 Sekunden analysieren kann. Der wird dann intern auf irgendwelche Datenbanken zurückgreifen, die im Hintergrund von irgendwelchen Diensten erstellt werden.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: ID3 Viel zu langsam beim lesen

  Alt 6. Aug 2007, 12:54
Du meinst jede mehr Dateien aufgenommen werden desto längert dauert jede neue Datei.
Wohin werden denn die Daten geschrieben? Werden Sie visualisiert? Zeig mal etwas Code.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: ID3 Viel zu langsam beim lesen

  Alt 6. Aug 2007, 14:07
Zitat von napsterxx:
{ ... } ich habe eine Progressbar eingebaut, aber dann dauert das... vll insgesammt 2min.
Wie oft aktualisierst Du denn die Progressbar? Nach jeder gelesenen Datei? Das frisst ungemein viel Zeit (wenn man es aufaddiert). Lass der Progressbar lieber nach jeder 10ten, 50ten, 100ten Datei (musst Du halt ausprobieren was Dir am besten passt / am besten aussieht) aktuelle Daten zukommen, z.T. bringt das schon einiges.
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#10

Re: ID3 Viel zu langsam beim lesen

  Alt 6. Aug 2007, 15:11
Die von dir angegebene Zeit vom WMP ist auf einen der folgenden Punkte zurückzuführen:
1. Du wolltest Dateien zur Bibliothek hinzufügen, die bereits vorhanden sind. Der WMP übergeht diese.
2. Du hast lediglich Dateien in der Medienbibliothek oder einer Playlist angezeigt. Diese Metadaten speichert der WMP in einer internen Datenbank für schnellen Zugriff.

Dunkels Tipp solltest du befolgen, falls du bisher bei allen Tests die Progressbar ständig aktualisiert hast. Ansonsten bleibt zu sagen, dass zwei Minuten für 1000 Dateien absolut keine lange Zeit sind. Wann musst du die Daten denn einlesen? Ein Benutzer hat Verständnis dafür, dass das Einlesen von tausenden von Dateien eine Zeitlang dauert, wenn er es nicht ständig machen muss. Geht es dir um das Einlesen z.B. aller Dateien in einem Verzeichnis, um sie anzuzeigen? Dann ist vielleicht ein Konzept wie beim WMP ganz günstig, oder du verlagerst das Einlesen in einen zweiten Thread, damit der Benutzer während des Einlesens schon mit dem Programm arbeiten kann (und schonmal die Daten angezeigt bekommt, die verfügbar sind).
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  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 09:12 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