Formatiert sieht das so aus.
Für autocrossfading braichst du callback der bass.dll oder einen Timer und 2 Channels. Ich sehe nichts davon.
Delphi-Quellcode:
procedure TForm1.Play(weiter: Boolean; ch: HSTREAM);
var
f: PChar;
len: Integer;
time: Tdatetime;
begin
try
if weiter then
begin
bass_channelstop(ch);
//Play the stream (continuing from current position)
f := PChar(list[pos].datei);
ch := BASS_StreamCreateFile(False, f, 0, 0, 0);
if pos >= 0 then
if not BASS_ChannelPlay(ch, False) then
Error('Error playing stream!');
position.Max := bass_channelGetLength(ch);
end
else
begin
bass_channelstop(ch);
f := PChar(list[pos].datei);
ch := BASS_StreamCreateFile(False, f, 0, 0, 0);
if pos >= 0 then
if not BASS_ChannelPlay(ch, False) then
Error('Error playing stream!');
position.Max := bass_channelGetLength(ch);
end;
except
end;
end;