Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
24.09.2001, 18:45
Doppelhertz



Ich hab da ein kleines Prob, ich hab nämlich ma nagefangen nen kleinen MP3 Player in Delphi zu machen, hab abba jetzt des Problem, wenn ich ca. über 500 Lieder auf einma lad, dass den kommt, des zu wenig Arbeitsspeicher da is. Des braucht soviel Speichern, da ich für jede MP3 den ID3 Tag lesen , un die zeit berechnen las und das ganze dann in ne ListBox schreib.
Jetzt such ich ne möglichkeit, das es die Sachen nich gleich beim öffnen, sondern erst beim durchscrollen in der Liste läd. Kennt jemand ne Eigenschaft oder Methode dafür??

DoPpeLheRtZ

--

zum Seitenanfang zum Seitenende Profil || Suche
001
26.05.2002, 11:14
[RMen]OneStone



Wenn du es mit pure WinAPI machen würdest, könntest du es (glaub' ich) mit ner Callback à la GetItemLabel oder so machen. So mach ich das zumindest in C++. Oder du machst dir dein eigenes Control aka eigenes Fenter.

[edit]Hmm, ich war wohl was langsam, gut 8 Monate getippt! ;)[/edit]

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/


Dieser Beitrag wurde am 26.05.2002 um 11:15 von [RMen]OneStone bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
26.05.2002, 12:19
Another1



GetItemLabel = callback?!
naja ... OneStone meint sicher das du die entsprechende windows message (WM_SCROLL oder son stuss =) vonner mp3liste abfängst und dann guckst was zu sehen is und das lädst. Des geht!

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
003
26.05.2002, 12:38
[RMen]OneStone



Ich meinte (sorry, hab mich dumm ausgedrückt), du machst dir ne C++ DLL mit eigene List-Box Window Class, die die WM_SCROLL (wie A1 sagte) abfängt, und für entsprechende sichtbare Items ne Callback sendet.

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche
004
26.05.2002, 16:13
snoopdog



warum lädst du nicht nur die verknüpfungen in dein Programm,anstatt das ganze lied, oder hab ich das jetzt falsch verstanden?

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
005
26.05.2002, 23:08
Doppelhertz



Ja, haste... da ich bei jeder file den Header auslesen muss (Titel, Interpret, Genre...), muss ich jede datei laden

--

zum Seitenanfang zum Seitenende Profil || Suche
006
27.05.2002, 16:21
[RMen]OneStone



AFAIK ist so ein Header doch ziemlich am Anfang -> du musst nur die ersten X Bytes auslesen!

[edit]BTW: Wer will eine Playlist mit 500 MP3s?[/edit]

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/


Dieser Beitrag wurde am 27.05.2002 um 16:21 von [RMen]OneStone bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
27.05.2002, 17:14
Doppelhertz



MUss man nich die ganze File in en Stream laden, um den Header ab zu sondern und dann zu lesen???

--

zum Seitenanfang zum Seitenende Profil || Suche
008
27.05.2002, 17:26
[RMen]OneStone



Ich kenn mich mit MP3 leider nicht aus.

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche
009
27.05.2002, 17:34
Doppelhertz



is nich nur bei MP3 so, is bei jedem Header so...
Hätte gern ma Hilfe von jemadn, der sich mit Streams auskennt...
Kann man das Laden des MP3 Headers "vereinfachen", d.h. dass ich nich rest die ganze File in en Stream laden muss usw.???

--

zum Seitenanfang zum Seitenende Profil || Suche
010
27.05.2002, 21:52
Mazze



In den Stream laden?
Also du musst schon die ganze Datei öffnen, aber du kannst ja nur einen Teil auslesen...
Oder wie meinst du das mit "In den Stream laden"?

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
011
27.05.2002, 22:56
Doppelhertz



Ich habe das lesen des MP3 Tags so gemacht:
Es wird die ganze Datei in einen Stream geladen und danach der Header von Bitx bix Bit y in einen 2ten Stream kopiert, danach der 1. Stream freigegeben der 2te wird ausgelsen und dann auch Freigegeben

--

zum Seitenanfang zum Seitenende Profil || Suche
012
27.05.2002, 23:50
Tron



kompliziert?

char* puffer[anzahl_bytes];
ifstream file("irgend_eine.mp3"); // einfach die datei oeffen
file.seekg(irgend_wo, ios::beg); // evtl. lesezeiger an eine startposition verschieben
file.read(puffer, anzahl_bytes); // den header in einen puffer einlesen
file.close(); // tja, aeh... datei schliessen? (datei wird auch implizit beim verlassen des scopes von file geschlossen)
// und nun den header zerpfluecken

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
013
28.05.2002, 14:59
[RMen]OneStone



Zitat:
Doubleheart wrote:
is nich nur bei MP3 so, is bei jedem Header so...

Willst du mich verarschen? Lies nochmal genau durch und überdenke dein Post nocheinmal.
Ich sagte, es ist bei den meisten Headern so, aber ich kenne mich mit MP3 nicht aus. Was soll dann dein Post?

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche