![]() |
|
|
|
|
#1
|
||||
|
||||
|
как в басс по окончании воспроизведения воспроизводить дальше следующие песни из лист бокса
|
|
#2
|
||||
|
||||
|
Ну по басу есть множество примеров, в том числе и с списком песен...
А вообще можно тупо проверять окончание песни (когда песня закончилась) - воспроизводить следующую песню из лист бакса (ListBox1.Items[ListBox1.ItemIndex+1]), функцией BASS_PLAY (она вроде по другому называется, но это не важно) |
|
#3
|
||||
|
||||
|
Код:
if BASS.Position < BASS.Length
then exit;
if ListBox1.ItemIndex < ListBox1.Count // список не исчерпан
then begin
ListBox1.ItemIndex := ListBox1.ItemIndex + 1;
Play; // активизировать воспроизведение файла
endкакто так и прявязать это к таймеру только точно никто не подскажет? |
|
#4
|
||||
|
||||
|
Ну я думаю можно обойтись и без таймера, но если хотите с таймером, то поставьте таймер (интервал 500), и него вставьте тот код что вы написали...
|
|
#5
|
||||
|
||||
|
а как это интересно вы без таймера думаете проверять?
|
|
#6
|
||||
|
||||
|
мой код не работает я написал приблезительно
|
|
#7
|
||||
|
||||
|
Надо вам почитать документацию баса, там наверняка есть событие, которое происходит после заканчивающийся песни.
Или же можно использовать рекурсию (но НЕ советую), тобишь сделать процедуру, вот пример: Код:
procedure SetNext;
begin
if BASS.Position < BASS.Length
then exit;
if ListBox1.ItemIndex < ListBox1.Count // список не исчерпан
then begin
ListBox1.ItemIndex := ListBox1.ItemIndex + 1;
Play; // активизировать воспроизведение файла
end;
SetNext;
end;ЗЫ код полностью ваш, поэтому если он не работает, я вам подсказать не чем не могу... ЗЫЫ на первый взгляд код нормальный, выложите процедуру "Play", может что-то в ней... Последний раз редактировалось v1s2222, 14.10.2010 в 18:23. |