Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проиграть мелодию 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо