
Zitat von
Nils_13:
Fals jemand Ideen aht, wie ich das hinzufügen beschleunigen kann (am besten mit ID3-Tag), postet den Code bitte. So sieht meiner aus:
Delphi-Quellcode:
var
f: PChar;
i : Integer;
begin
if not op.Execute then Exit;
for i := 0 to Op.Files.Count-1 do begin
f := PChar(Op.Files.Strings[i]);
sams[samc] := BASS_SampleLoad(FALSE, f, 0, 0, 3, BASS_SAMPLE_OVER_POS);
if sams[samc] <> 0 then
begin
playlist.Items.Add(f);
Inc(samc);
end
else
Application.MessageBox('Fehler beim Hinzufügen von der Datei!', 'dAmp', mb_OKCancel +
mb_DefButton1 + MB_ICONQUESTION);
end;
Also durch das aufrufen von SampleLoad wird jedesmal die gesamte Datei in den Speicher kopiert. Das alleine ist schon unschön. Besser wird es noch wenn man das mehrmals hintereinander macht
ohne den Speicher wieder freizugeben (Stichwort BASS_SampleFree). Keinwunder das das lange dauert....
Also algemein zum abspielen nimmst du BASS_StreamCreateFile.