Einzelnen Beitrag anzeigen

Marco Steinebach

Registriert seit: 4. Aug 2006
491 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: cd's rippen - brauche dringend hilfe!

  Alt 5. Jan 2009, 21:34
Zitat von Der Abtrünnige:
1. Quelltext. "Häääää?" ist keine Fehlermeldung, und dass du kein gültiges Handle bekommst, hat bestimmt seinen Grund.
also:
Delphi-Quellcode:
var
  sh: HSTREAM; // das eigentliche Handle für den Kanal
  dh: HENCODE; // das Handle für den Encoder, wenn er's denn geschaft hat.

  BASS_Init(0, 44100, 0, Application.handle, nil);
  sh := BASS_CD_StreamCreateFile(PChar('f:\track01.cda'), BASS_STREAM_DECODE);
        if sh <> 0 then
        begin
          dh := BASS_Encode_Start (sh, pChar(cmdline), 0, nil, nil);
und genau hier hängt's, DH sollte nämlich der Handle für den Decode-Kanal sein, und der ist 0. Aaaaaaber nur, wenn man die BASSENC.DLL dynamisch lädt.
Es gibt auch keine Fehlermeldungen beim laden, o.ä., mit allen anderen BASSXXX.DLL's funktioniert das dynamische laden auch wunderbar.
Bemüht man nach dme aufruf von
          dh := BASS_Encode_Start (sh, pChar(cmdline), 0, nil, nil); Bass_errorGetCode, liefert einem das die 5 zurück, was für "invalid Handle" steht.
Zitat von Der Abtrünnige:
2. Hat das einen besonderen Grund, dass du noch mit D5 arbeiten musst? Ansonsten => Turbo Delphi
Joa, klar, aber das funktioniert nicht mit meinem Screenreader zusammen.

Zitat von Der Abtrünnige:
Zu deinem Problem:

Natürlich kannst du LAME eine WAVE Datei mit Parametern übergeben, 10 Sekunden Google:

http://lame.cvs.sourceforge.net/*che...ame/lame/USAGE
, , ähm, das war mir klar, hat aber den KLEINEN Nachteil, daß man die Datei erst als WAVE rippen muß udn dann der LAME zum encodieren übergeben - wie das geht, ist mir klar, es ging um den direkten weg.

Viele Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat