Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
Delphi 7 Enterprise
|
Re: WAV-Dateien verschmelzen
31. Mär 2009, 19:16
Jetzt hab ich elend lang an dieser procedure geschreibselt und finde den Fehler nicht...
Kann sich das mal jemand angucken?
Delphi-Quellcode:
procedure TVoiceSynth.Speak;
var
Mixer : Cardinal;
Sources,
Lengths:array of Cardinal;
ZwErg:TStringList;
I:integer;
function LengthSum(Index:integer):Cardinal;
var
I:integer;
begin
Result:=0;
if(Index>0)
then for I:=0 to Index
do Result:=Result+Lengths[I];
end;
begin
ZwErg:=TStringList.Create;
ZwErg.Text:=StringReplace(ProcessedString, ' ', #13#10, [rfReplaceAll]);
SetLength(Sources, ZwErg.Count);
SetLength(Lengths, ZwErg.Count);
for I:=0 to(ZwErg.Count-1)do
begin
Sources[I]:=BASS_StreamCreateFile(false, PChar(format('speakbase\%s.wav', [ZwErg[I]])), 0, 0, BASS_STREAM_DECODE);
Lengths[I]:=BASS_ChannelGetLength(Sources[I], BASS_POS_BYTE);
end;
Mixer:= BASS_Mixer_StreamCreate(44100, 2, 0);
for I:=0 to(ZwErg.Count-1)
do BASS_Mixer_StreamAddChannelEx(mixer, Sources[I], 0, LengthSum(I-1), LengthSum(I));
BASS_ChannelPlay(Mixer, false);
end;
Frage noch mal geöffnet...
Gruß vom LDer
|
|
Zitat
|