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
Was bitte meinst du mit "analoger CD Player"? Was soll da analog sein?
Baka wa shinanakya naoranai.
Mein XING Profil.
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
@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
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
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
Falls nicht, schaust Du hier:
http://www.pinvoke.net/default.aspx/kernel32/CreateFile.html
Gernot Melichar
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.
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
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