![]() |
CD Extra
Liste der Anhänge anzeigen (Anzahl: 3)
In der Library gibt es den Artikel "
![]() Neben den CD-DA gibt es die CD-DA Extra (Blue Book). Dort sind Audiotracks und "computerlesbare" Daten in zwei Sessions enthalten. Siehe IsoBuster-Bild. Wie kann man auf beide Sessions zugreifen? Mit meinem Testprojekt kann ich nur auf die Datensession zugreifen. |
Re: CD Extra
Hmm... Ich fürchte, dafür gibt es keinen API - Befehl. Vllt. versuchst du, die TOC der Disc auszulesen. Nichts anderes macht ISO-Buster.
Sollte es doch einen Befehl geben, büdde korrigieren. :zwinker: |
Re: CD Extra
Zitat:
Zitat:
|
Re: CD Extra
Zitat:
![]() ___ @ Frickeldrecktuxer_TM Leicht gereizt? :? Zitat:
Spass beiseite: Ob eine Red Book Überprüfung vorgenommen wird oder nicht, ist unerheblich. Fakt ist, dass diese Überprüfung bei Red Book funktioniert und bei Blue Book nicht. Der Standalone-CD-Player spielt den Audioteil im übrigen klaglos ab. Zitat:
____ :thumb: Vielen Dank Euch beiden. Da werde ich noch einiges im Internet wälzen müssen. Wenn ich was finde, werde ich berichten. |
Re: CD Extra
Zitat:
Zitat:
Die Funktion von Daniel B, die du verlinkt hast, hat ja nicht das geringste mit CD zu tun, das ist ja der Witz an der Sache ;-) Es ist nur eine Überprüfung, ob bestimmte Dateien auf einem bestimmten Volume zu finden sind. Diese Datei kann auch das letzte Urlaubsfoto sein, das jemand nach foto.cda umbenannt hat, und das Volume kann auch eine Diskette sein. Oder sogar ein Netzlaufwerk. Zitat:
Zitat:
![]() ![]() ![]() ![]() HTH |
Re: CD Extra
Einiges wissenswertes über das SCSI Passthrough Interface (SPTI) findest du im WinDDK. Das kannst du Online bei
![]() einsehen. Hast du die genauen Specs des CD-XA Standards denn zur Hand? |
Re: CD Extra
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
In den letzten beiden Tagen habe ich einiges an Material eingesammelt. Vielleicht reicht es, um mein Ziel zu erreichen. Ich verabschiede mich jetzt erst mal bis zum 28. April. Nachtrag: Da findet man auch eiiniges ![]() |
Re: CD Extra
Zitat:
Bei den Suchergebnissen, die ich dir genannt habe, ist mir ein Fehler unterlaufen. Ich ging davon aus, daß bereits auf ISO9660-Ebene eine Unterscheidung von Sessions möglich ist, dem ist aber nicht so. Ich weiß daher auch nicht, ob der Vorschlag, es über \\.\[volume] zu machen, das gewünschte Ergebnis erzielt, weil ich nicht weiß, ob dabei dennoch nur auf das aktuelle Dateisystem (also die aktuellste Session) zugegriffen wird, oder tatsächlich auf die Rohdaten, die das CD-Laufwerk zur Verfügung stellt. Mein Hinweis auf die ISO-Klasse war damit natürlich auch Mist |
Re: CD Extra
Liste der Anhänge anzeigen (Anzahl: 2)
So, nun bin ich wieder daheim.
Der alternative CDFS-Treiber ist, wie ich gerade gesehen habe, für Win9x. Man kann ihn zum Beispiel bei der ![]() Ich habe jetzt folgendes ausprobiert: ![]() Der Freeburner enthält auch eine ISO9660-Kopmponente. Allerdings scheint diese nur mit Singlesession klarzukommen. Als ein ISO von der CD mit den beiden Sessions angefertigt werden sollte, blieb er (vermutlich) nach der ersten Session hängen. ![]() Mit der CDDB-Komponente konnte ich die TOC mit SPTI nicht einlesen, was wohl darauf zurückzuführen ist, dass ich eine Personal Edition verwende. ![]() Aus der TIsoLib habe ich etwas Source herausgenommen. Damit kann man die Anzahl der Sessions und Tracks auslesen, wenn man als Administrator angemeldet ist. (Habe derzeit kein ASPI installiert). Die Datensession ist dabei ein Track. Die Eigenschaften wie Lese- und Schreibgeschwindigkeit habe ich auch kopiert. Die bekomme ich allerdings nur beim virtuellen Laufwerk ausgelesen. Nachtrag: Auf einem anderen Rechner funktioniert das Auslesen der Lese- und Schreibgeschwindigkeiten. ![]() In der API-Dokumentation zu AKRip ist eine Funktion angegeben, mit welcher man den Disctype bestimmen können soll. Dafür ist die AKRip.DLL notwendig, weshalb ich diese nicht nutzen möchte. ![]() In einer Demo zur Bass.Dll/BassCD.Dll werden die Audiotracks sowie ein Datentrack angezeigt. ![]() In dem Thread ist eine Unit, mit welchem sich per SPTI die Anzahl der Tracks bestimmen lässt. Wenn man Administratorrechte besitzt, kann man auch die Trackdaten auslesen. Zuerst kommen die Audiotracks, dann der Datentrack und noch ein Datentrack, welcher vermutlich das LeadOut ist. ![]() Daniels Hinweis zu Win DDK ist gut. Denn es gibt dort eine Beschreibung zum ![]() Nachtrag: Eben bin ich auf diese ![]() |
Re: CD Extra
Liste der Anhänge anzeigen (Anzahl: 3)
Ich habe eine Lösung gefunden:
Delphi-Quellcode:
// CDROM Type
//============================================================================== function CDROM_Type(const CDHandle : THandle) : String; const CDROM_DISK_AUDIO_TRACK = $00001; CDROM_DISK_DATA_TRACK = $00002; IOCTL_CDROM_DISK_TYPE = $20040; type CDROM_DISK_DATA = Record DiskData : ULONG; end; var cdd : CDROM_DISK_DATA; rb : DWord; begin Result := ''; rb := 0; if DeviceIoControl(CDHandle, IOCTL_CDROM_DISK_TYPE, Nil, 0, @cdd, sizeof(cdd), rb, Nil) then case cdd.DiskData and $03 of CDROM_DISK_DATA_TRACK: Result := 'DatenCD'; CDROM_DISK_AUDIO_TRACK: Result := 'AudioCD'; CDROM_DISK_DATA_TRACK + CDROM_DISK_AUDIO_TRACK: Result := 'MixedCD'; end else Result := GetLastErrorMsg; end;
Delphi-Quellcode:
Der Function wird das mit CreateFile erhaltene Handle übergeben und man erhält einen String zurück. Im Beispielprojekt auch eine Zahl,
// Letzte Fehlermeldung
//============================================================================== function GetLastErrorMsg: String; var Fehler : PChar; begin GetMem (Fehler, 255); FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_FROM_SYSTEM, nil, GetLastError, 0, @Fehler, 255, nil); Result := Trim(Fehler); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz