Заставить динамик пикнуть несколько раз с задержкой между сигналами, не зависящей от частоты процессора
Нужно воспользоваться следующей процедурой:
procedure Delay(ms : longint); {$IFNDEF WIN32} var TheTime : LongInt; {$ENDIF} begin {$IFDEF WIN32} Sleep(ms); {$ELSE} TheTime := GetTickCount + ms; while GetTickCount < TheTime do Application.ProcessMessages; {$ENDIF} end; |
А воспользуемся ею, например, в обработчике нажатия кнопки:
procedure TForm1.Button1Click(Sender: TObject); begin MessageBeep(word(-1)); Delay(200); MessageBeep(word(-1)); Delay(200); MessageBeep(word(-1)); end; |
Далее: Заставить приложение загружать и проигрывать звуковой файл »»