Hi
nimm Bass.dll + BassMix.dll
Delphi-Quellcode:
var Source1, Source2 : Cardinal;
Mixer : Cardinal;
// File1 kann mp3 sein und File2 kann wav sein
Source1 := BASS_StreamCreateFile(false, 'File1', 0, 0, BASS_STREAM_DECODE) // < So oft wie du willst
Source2:= BASS_StreamCreateFile(false, 'File2', 0, 0, BASS_STREAM_DECODE)
Mixer:= BASS_Mixer_StreamCreate(44100, 2, 0) ;
BASS_Mixer_StreamAddChannel(Mixer, Source1, 0); // < So oft wie du willst
BASS_Mixer_StreamAddChannel(Mixer, Source2, 0);
BASS_ChannelPlay(Mixer, false);
keine lade zeit! Und du musst die flags anpassen, kommt darauf an ob du das ganze Abspielen oder nur Decodieren
und als neue Datei Speichern willst. Du kannst die Source's jederzeit mit BASS_Mixer_ChannelRemove(Source1) entfernen!
Und wen du es dir einfach machen willst nimmst du bassenc.dll und schreibst deinen neuen Mix in eine neue Datei
BASS_Encode_Start(Mixer, Pchar('NewFile.wav'), BASS_ENCODE_PCM, nil, nil);
das ganze kannst du Ausbauen bis dir schlecht wird.