![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проиграть мелодию 10 раз [D7, WinXP]
Grinder © (2004-02-16 18:56:00)как проиграть 10 раз мелодию чтобы программа не висла?
for k := 0 to 10 do
begin
MediaPlayer.Wait:=true;
MediaPlayer.Play;
Application.ProcessMessages;
end;
Но при проигрывании прога виснит нагло. Как сделать чтобы не было зависона?
Mihey (2004-02-19 19:38:00) [1]> Измеряешь величину мелодии и ставишь задержку на Timer равную длинне мелодии.
Я вас вообще не понимаю. Вы справку читали? Книги читали? Зачем пользоваться таймером, который неточный, который может сработать раньше, может позже, когда есть замечательное событие OnNotify, которое срабатывает, когда мелодия заканчивает играть?
Александр1 (2004-02-19 19:04:00) [2]Кстати измерить длинну мелодии можно с помощь обыкновенного любого проигрывателя.
Александр1 (2004-02-19 19:03:00) [3]Заводишь процедуру Timer1. Измеряешь величину мелодии и ставишь задержку на Timer равную длинне мелодии. Поставь счётчик k:=k+1
if k=10 then MediaPlayer.Wait:=falsе Вот и все!!!!
Mihey (2004-02-18 19:34:00) [4]Не, ну есть же OnNotify.
Digitman (2004-02-18 15:23:00) [5]делай это в доп.код.потоке
Grinder (2004-02-17 17:29:00) [6]тогда он залпом пройдется по циклу и проиграет только 1 раз!
jel (2004-02-16 19:31:00) [7]
> MediaPlayer.Wait:= false