Laden...

TOC einer CD-A auslesen

Erstellt von Phoenix666 vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.602 Views
P
Phoenix666 Themenstarter:in
4 Beiträge seit 2006
vor 18 Jahren
TOC einer CD-A auslesen

Hallo,

ich habe jetzt einige Stunden im Netz und in der MSDN recherhiert. Leider habe ich zu diesem Thema nichts gefunden.

Im Prinzip habe ich folgendes vor:

Ich möchte einen analogen CD-Player schreiben, der den TOC einer CD-A ausliest. Aus diesen Daten möchte ich eine ID für eine lokale freedb.org-Datenbank-Abfrage erstellen.
Die Titel sollen dann in einer Liste angezeigt werden und das abspielen analog von statten.

Hat jemand Ahnung davon? Oder kann mir jemaden sagen, wo ich mir das nötige Wissen aneignen kann?

Das Projekt würde ich gerne in C# schreiben, da ich ein vorhandenes Programm um den Player erweitern möchte.

C Ya,

Phoenix

6.862 Beiträge seit 2003
vor 18 Jahren

Was bitte meinst du mit "analoger CD Player"? Was soll da analog sein?

Baka wa shinanakya naoranai.

Mein XING Profil.

M
1.439 Beiträge seit 2005
vor 18 Jahren

hi,

soweit ich mich noch erinnern kann, wird der TOC einer CD in den ersten 64 Bytes gespeichert. Du kannst ja einfach mal versuchen das ganze Volume zu öffnen und dann die ersten 64 Bytes einlesen und hashen.
Um ein Volume zu öffnen musst "\.\x" als Pfad verwenden z.B.:\.\C:
Vielleicht funktionierts.

lg
georg

P
Phoenix666 Themenstarter:in
4 Beiträge seit 2006
vor 18 Jahren

@talla
Mit Analog meine ich, dass der Rechner nur das ROM ansteuert (Play, Stop, Nächster Titel, Laufzeit anzeigen) und die Audiosignale vom Rechner nicht verarbeitet werden, sondern über den analogen Ausgang des ROMs abgesielt werden.

@marsgk
Danke für den Hinweis. Hast Du auch noch ein Schlagwort für mich, wo ich in der MSDN darüber nachlesen kann? Bzw. eine Methode? Bin noch recht frisch in C# und die MSDN ist nicht gerade gut strukturiert 🙂

C Ya,

Phoenix

M
1.439 Beiträge seit 2005
vor 18 Jahren

hi,
da kann ich dir nur zustimmen. Ich hab noch nie eine brauchbare Hilfe gesehen, die von MS ist...
Ich hab grad nachgesehen, aber leider geht das mit .NET nicht.

The .NET Framework does not support direct access to physical disks through paths that are device names, such as "\.\PHYSICALDRIVE0 ".

Hier mal der Link zur Windows API Funktion:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/createfile.asp

P
Phoenix666 Themenstarter:in
4 Beiträge seit 2006
vor 18 Jahren

Danke für den Hinweis.

Ein Bekannter von mir meinte es würde in der .NET API eine Methode dafür geben. Ich werd mal danach Ausschau halten.

C Ya,

Phoenix

M
115 Beiträge seit 2003
vor 18 Jahren

Gernot Melichar

M
1.439 Beiträge seit 2005
vor 18 Jahren

Original von Phoenix666
Danke für den Hinweis.

Ein Bekannter von mir meinte es würde in der .NET API eine Methode dafür geben. Ich werd mal danach Ausschau halten.

Falls du die Methode findest, lass es mich wissen. Würd mich auch interessieren.

17 Beiträge seit 2006
vor 18 Jahren

Also ich habe was in C/C++ gefunden und zwar ein Teil vom Quellcode des Bochs-Emulators. In dem Quellcode ist eine Möglichkeit vorhanden den TOC einer CD auszulessen. http://bochs.sourceforge.net/cgi-bin/lxr/source/iodev/cdrom.cc

P
Phoenix666 Themenstarter:in
4 Beiträge seit 2006
vor 18 Jahren

Ich hab endlich was gefunden. Testen konnte ich es aus Zeitmangel leider noch nicht:
http://www.thecodeproject.com/csharp/CSharpRipper.asp

C Ya,
Phoenix

C Ya,

Phoenix