Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Auslesen von CD-Text ? (https://www.delphipraxis.net/136585-auslesen-von-cd-text.html)

p80286 3. Jul 2009 10:26


Auslesen von CD-Text ?
 
Hallo zusammen,

Auch wenn das Thema sehr nach Multimedia riecht, glaube ich hier besser aufgehoben zu sein.
Mir ist im Urlaub eine CD über den Weg gelaufen die in der Lage war über den CD-Player in meinem Leihwagen, den gerade laufenden Titel und Interpreten auszugeben.
Da ich diese Informationen auch gerne am heimischen PC auslesen will, habe ich nach CD-Text recherchiert.
Bin auch bei MSDN fündig geworden. (Glaube ich: z.b. IOCTL_CDROM_READ_TOC_EX)

Jetzt suche ich die Datei CDROM.h die eigentlich alle für mich notwendigen Informationen (IOCTL-Codes) enthalten sollte.
In dem SDK das ich herunter laden konte (Server2008 SERVER 2003 ist angeblich darin enthalten) fehlt jeder Hinweis auf CD-ROM umd mit den DVD-Infos kann ich nichts anfangen.

Habe ich mich da vollkommen verannt?
Oder irgendetwas übersehen?
Könnt Ihr mir auf die Sprünge helfen?

Ach ja, das Prog sollte unter XP und Vista laufen

Gruß
K-H

himitsu 3. Jul 2009 12:40

Re: Auslesen von CD-Text ?
 
Es gibt auch sogenannte "ISO Image library for CDs and DVD ROMs", einige davon kennen sich auch mit CD-Text aus und sind sogar für Delphi verfügbar.

p80286 3. Jul 2009 12:48

Re: Auslesen von CD-Text ?
 
vielen Dank,
denn werde ich mal nachschauen. Irgendetwas in der Richtung ist mir während meiner Suche über den Weg gelaufen aber ich dachte mit IOCTL kommt man ja an jeden sektor heran, da wäre ich dann auf der sicheren seite.

Gruß
K-H

himitsu 3. Jul 2009 13:02

Re: Auslesen von CD-Text ?
 
Nja, aber dann mußt du dich auch noch mit den Datenformaten beschäftigen, also was wo wie drinsteht,
da hättest du mit einer "feritgen" Lib den Vorteil, daß diese sich drum kümmert wie was ausgelesen werten muß.

Außerdem kann sich der CD-Text auch noch an unterschiedlichen Orten auf der CD befinden, wobei er anscheinend fast nur im Lead-In versteckt.
(die anderen Orte find ich aber praktischer ... wär schon witzig, wenn man statt der 5 KB glech mal 31 MB "verstecken" könnte und bei DVDs noch mehr)
Und das Format der Daten scheint zwar recht einfach zu sein, aber so wie es aussieht gibt es nicht unbedingt definierte/einheitliche Bezeichner/Signaturen, zwischen den unterschiedlichen Firmen.

p80286 3. Jul 2009 14:31

Re: Auslesen von CD-Text ?
 
vor vielen Jahren hab ich mich mal unter DOS/ASPI an CD-ROMs heran gewagt, das war relativ simpel nur die Interpretation der Daten war etwas fummelig. Ganz unten im Keller müßte ich aber noch ein paar Infos herum liegen haben. Was das "verstecken" angeht, müßte man glaube ich mit "defekten" Sektoren arbeiten, oder aber Sektoren die hinter den eigentlichen Nutzdaten (leadOut) liegen, aber das ist ja nun nicht mehr sehr normkonform. In der Frühzeit gab es mal CDs (ähnlich wie Disketten) die hatten "eine Spur zuviel", das war aber nicht auf allen Geräten lesbar.

Gruß
K-H

himitsu 3. Jul 2009 14:51

Re: Auslesen von CD-Text ?
 
och, wozu gibt's denn die "SubData", dann noch mehrere Sessions ... es wird im PC ja normaler Weise immer nur die letzte Session angezeigt ("einfache" CD-Spieler spielen dagegen die erste Session ab)

Vorallem die SubData-Abteilung hatte ich mir mal angesehn, da hätte man eigentlich ganz praktisch noch ein paar Zusatzdaten, wie z.B. Reparaturinfos unterbringen können (neben den Sektor-CRCs/Prüfdaten) ... könnte "leicht" defekten und zerkratzten CDs nicht schaden.


Über CreateFile + \\.\CDRom* dürfte man nicht an den CD-Text rankommen? denk ich mal :gruebel:
Hab hier keine CD mit CD-Text drauf und kanns nicht prüfen, aber ich glaub das fängt erst später an, mit Lesen.

p80286 3. Jul 2009 15:07

Re: Auslesen von CD-Text ?
 
Jain, das Problem könnten die unterschiedlichen Sektorgrößen sein (ach war ASPI schön *seufz*)

Gruß
K-H

Mithrandir 3. Jul 2009 15:07

Re: Auslesen von CD-Text ?
 
Idee, Idee, Idee! :firejump:

Eventuell könnte man sich Anregungen aus der OS-App CDEx und der CDRip Ripping Library holen. Zumindest CDEx kann nämlich CD-Text lesen.

Ist zwar C, aber immer noch besser, als einfach nur so herumzustochern.

p80286 3. Jul 2009 15:24

Re: Auslesen von CD-Text ?
 
Ausprobieren!

z.Zt liegt sourceforge wohl auf der Nase, dann eben später!

Gruß
K-H

Mithrandir 3. Jul 2009 15:25

Re: Auslesen von CD-Text ?
 
Teils, manchmal hilft ein Refresh. Hatte ich eben auch. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:13 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