Hi
ich brauche eure Hilfe mit der Wavpack.dll + bass.dll, ich versuch die Wavpack.dll in mein Programm zu Implementieren. Das Problem ist ich habe keine Plan wie ich den Frame-Size
updaten soll.
Alles funktioniert wunderbar wen die Datei Länge bekannt ist, wen du aber von der Soundkarte
aufnehmen willst?
??
ich jage das ganze durch en DSP, man kann das aber auch direkt mit dem RecordProc Machen
Delphi-Quellcode:
Procedure Encoder_DSP_WV(
handle: HDSP; channel: DWORD; buffer: Pointer; length: DWORD; user: Pointer);
stdcall;
begin
if (buffer <>
nil)
and (length <> 0)
then
FWVEncoder.Encoder_Write(buffer, length);
end;
FWVEncoder.Filename:= '
Filename.wv';
FWVEncoder.Encoder_Create();
(* Set Encoding DSP Channel *)
FEncDSP_WV:= BASS_ChannelSetDSP(FMixChann, @Encoder_DSP_WV,
nil, 1);
(* Stop Encoder *)
if BASS_ChannelRemoveDSP(FMixChann, FEncDSP_WV)
then
FWVEncoder.Encoder_Stop();
in der Bass_Enc_WV.pas unter der Funktion
Delphi-Quellcode:
Function TWVEncoder.Encoder_Create() : Boolean;
// Error (FInput.Size)
if not FEncoder.Init({FInput.Size} div (fChannels * ((FBitsPerSample + 7) shr 3))) then
raise EEncException.CreateFmt('Wavpack file Init failed! (error: "%s")', [Fencoder.LastError]);
liegt das Problem
ich habe ähnliches mit der lame_enc.dll (mp3) gemacht und es funzt 100%.
Thx.