C
var
mp3: DWORD;
IsSYNC: HSYNC;
...............
begin
mp3 := BASS_StreamCreateFile(False, FileName, 0, 0, 0);
IsSYNC := BASS_ChannelSetSync(mp3, BASS_SYNC_END, 0, @YOUR_PROCEDURE, nil);
end;
where YOUR_PROCEDURE - The name of your procedure, which should be launched at the end of the melody.I'd do that. First, we create a function to launch amp3:procedure BASS_PlayFile(FileName: PChar);//передаем путь к файлу
begin
if Channel <> 0 then
begin
// Открываем файл...
Channel := BASS_StreamCreateFile(False, FileName, 0, 0, 0);
// Начинаем его воспроизведение
BASS_ChannelPlay(Channel, False);
// А вот здесь используем флаг BASS_SYNC_END и указываем на нашу процедуру
// Button2click котора будет запущена по окончанию проигривания файла
PlaySync := BASS_ChannelSetSync(Channel, BASS_SYNC_END, 0, @Button2click, nil);
end ;
end;
Then we put it all on the button press:procedure TForm1.btnPlayClick(Sender: TObject);
begin
BASS_PlayFile('diskoteka.mp3')
end;
procedure TForm1.button2click(Sender: TObject);
begin
Showmessage('The End!-said Button2click');
end;
end.