CDDB ID ohne wnaspi32.dll
Hat jemand eine Idee wie ich eine CD ID für
einen CDDB Server auslesen kann ich habe das mit der "CDRip122.dll" gemacht und möchte eine Lösung ohne diese DLL finden. Eigendlich langt es mir die CDToc auszulesen
Delphi-Quellcode:
das fand ich im Project CDTyp
var
t : PWCDTOC if WNASPI_Loaded then begin ReadCdTOC( CdRoms, CB_Laufwerke.ItemIndex, Toc, cdiAutoDetect ); end else begin /// sptiReadTOC( CdRoms, CB_Laufwerke.ItemIndex, t); // ConvertTOC( t, Toc ); end; nur leider ist das was ich brauche ausgeklammert und ich habe keine Ahnung wie ich PWCDTOC einlesen kann |
AW: CDDB ID ohne wnaspi32.dll
Bass.dll in Kombination mit BassCD.dll geht auch. Nur stellt sich dann vielleicht die Frage, ob das nicht auch einfacher geht.
Bernhard |
AW: CDDB ID ohne wnaspi32.dll
Warum ohne die DLL? Was stört dich daran?
|
AW: CDDB ID ohne wnaspi32.dll
Kommt immer ganz auf den Verwendungszweck drauf an. Wenn man dann die CD noch abspielen will oder encodieren will, dann auf jeden Fall. Wenn man jetzt aber "nur" die CD-ID auslesen will, dann finde ich, dass eine komplette Audio-Bibliothek, deren Hauptmerkmal auf dem Abspielen und Aufnehmen liegt und nur als zusätzliches Feature die CD-ID noch berechnen kann, ein klein wenig Overkill ist.
Meine Meinung. Dies soll nicht heißen, dass ich es nicht trotzdem exakt genau so machen würde. Bernhard |
AW: CDDB ID ohne wnaspi32.dll
Danke
Ich will aber nichts abspielen, ich möchte nur eine Datenbank für CD schreiben, besser gesagt umschreiben. Geht das ohne wnaspi32.dll , oder geht es nicht |
AW: CDDB ID ohne wnaspi32.dll
Geht bestimmt auch ohne. Man muss nur den Funktionen der DLL implementieren. Mach dich mal kundig, wie man die DB abfragt.
|
AW: CDDB ID ohne wnaspi32.dll
Dann gibt es noch die Möglichkeit, die ID schnell selbst zu berechnen: http://en.wikipedia.org/wiki/CDDB#Ex...eDB.29_disc_ID (gerade gefunden)
Bernhard ADD: Und für die Abfrage der CDDB gibt es im Internet sogar ein paar funktionsfähige Beispiele fertige Komponenten, die das können. |
AW: CDDB ID ohne wnaspi32.dll
Zitat:
Zitat:
So wie mir bekannt ist greifen die alle indirekt auf die wnaspi32 zu. Egal was du da nimmst akrip32, lame oder auch basscd Was aber unter umständen funktionieren könnte. mit der API GetVolumeInformation.. Kernel32.dll Hier mal die Infos.. Habe es aus meinem Mediaplayer mal kopiert.
Code:
'volume CDID
Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" _ (ByVal lpRootPathName As String, _ ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _ lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, _ ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
Code:
Public Function LeftZeroPad(s As String, n As Integer) As String
If Len(s) < n Then LeftZeroPad = String$(n - Len(s), "0") & s Else LeftZeroPad = s End If End Function
Code:
Sorry hab jetzt keinen bock das zu übersetzen.
Public Function GetMediaInfo(ByVal DriveLetter As String) As String
Dim sn As Long, sts As Long Dim cl As Long, fl As Long Dim vnb As String * 32 Dim snb As String * 16 'process errors On Error Resume Next 'trim leading and trailing blanks and add colon m_DriveLetter = left$(Trim$(DriveLetter), 1) & ":" 'get the CDID (volume serial number) sts = GetVolumeInformation(m_DriveLetter, vnb, 32, sn, cl, fl, snb, 16) If (sts > 0 And left$(snb, 4) = "CDFS") Then GetMediaInfo = LeftZeroPad(Hex$(sn), 8) End If End Function Aber es sollte die Infos die du suchst zurück liefern. PS: Zitat:
Hier noch ein Ansatz! http://www.delphipraxis.net/92525-post1.html noch ein bildchen hehehehhee gruss |
AW: CDDB ID ohne wnaspi32.dll
Zitat:
a) händisch eintippen (was der TE vermeiden will) - oder - b) die CD-ID auslesen und von einem CDDB-Server (z.B. freedb) auslesen. Der 2. Schritt, laut TE, ist erst die interne Verarbeitung der Daten in einer eigenen Datenbank. Diese interne Datenbank muss sich nicht nach den Richtlinien von CDDB orientieren. Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:08 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