Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   AudioCD - Rippen des letzten Tracks (https://www.delphipraxis.net/168738-audiocd-rippen-des-letzten-tracks.html)

EWeiss 8. Jun 2012 21:42

AW: AudioCD - Rippen des letzten Tracks
 
Mal geprüft ob die DRM geschützt sind ?
Das es vielleicht deshalb nicht geht?

gruss

Garfield 9. Jun 2012 13:10

AW: AudioCD - Rippen des letzten Tracks
 
Ich habe bis jetzt nur zwei getestet:

http://musicbrainz.org/release/e3f9e...7-a88186419f22 (2008)
http://musicbrainz.org/release/73148...a-0190abdfd895 (1994)

Vermutlich sind sie nicht geschützt. EAC kann auch nicht mehr Sektoren auslesen. Ich will jetzt mal sehen, was GetLastError aussagt und ggfs meine Auswertung ändern.

Delphi-Quellcode:
        {
        *  Daten lesen.
        }
        Result := ReadCDDA(aTrack.dwOffset + dwReturned, dwSectors, aDevice, pBufferPCM);
        if not(Result)
        then begin
          beCloseStream(hbeStream);
          raise Exception.Create('Beim Lesen der Quelldatei ist ein Fehler aufgetreten.');
        end;
Da nützt es nicht viel, wenn man darauf achtet, dass man nicht über die nächste Startadresse hinaus liest.

Nachtrag:

Der Fehler ist:

Zitat:

ERROR_INVALID_PARAMETER

87 (0x57)

The parameter is incorrect.

Garfield 9. Jun 2012 14:36

AW: AudioCD - Rippen des letzten Tracks
 
Jetzt habe ich die Sektoren einzeln lesen lassen.

Album 1:
- Start Leadout LBA: 194892
- Gelesen bis LBA: 194742

Album 2:
- Start Leadout LBA: 178820
- Gelesen bis LBA: 17670

Sind komischerweise andere Werte als beim Lesen mehrerer Sektoren. Dafür aber identisch.

Ergebnis ist, dass die 150 Sektoren = 2 Sekunden vor dem Leodout nicht lesbar sind.

igel457 10. Jun 2012 14:09

AW: AudioCD - Rippen des letzten Tracks
 
Ich weiß zwar nicht ob das dein Problem löst, in dem Code zum Audio-CD lesen den ich vor einiger Zeit mal hier gepostet hatte, verfahre ich (wenn ich das richtig sehe) etwas anders (insbesondere bei der Berechnung der Sektoradressen):

http://www.delphipraxis.net/145494-audio-cd-rippen.html

Ich habe den Code gerade nochmal getestet und der letzte Track wird korrekt ausgelesen. Nur bei der Längenanzeige wurde im von mir getesteten Fall noch die Länge des auf der CD befindenlich Daten-Tracks dazu addiert -- es wurde jedoch nicht versucht diesen wiederzugeben.

Allerdings werte ich auch nicht so Scherze wie die Pausen zwischen den Tracks aus.

Garfield 10. Jun 2012 18:22

AW: AudioCD - Rippen des letzten Tracks
 
Danke Igel457. Ich habe mal verglichen, was anders ist und konnte das Problem lösen. Die Längen der Titel waren bei Dir und mir unterschiedlich. Das heißt, in meiner Hilfsroutine fehlte eine Klammer und die Frames der Startadresse wurden nicht substrahiert sondern addiert. :oops: :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr.
Seite 2 von 2     12   

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