![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PC Speaker [D6, Win95/98, WinME, NT4, Win2k, WinXP]
Seldon © (2002-08-24 21:25:00)Как пропищать звук заданнной частоты? В Turbo Pascal была функция Sound, а в Delphi её нет :(
Igor__ (2002-08-27 04:50:00) [1]У меня WinMe и у меня работает.
Точно знаю что работает и под Win98.
procedure sound(Hz:word);
begin
asm
MOV BX,Hz
MOV AX,34DCh
MOV DX,0012h
CMP DX,BX
JAE @SoundExit
DIV BX
MOV BX,AX
IN AL,61h
TEST AL,00000011b
JNZ @SetCount
{turn on speaker}
OR AL,00000011b
OUT 61h,AL
MOV AL,182
OUT 43h,AL
@SetCount:
MOV AL,BL
OUT 42h,AL
MOV AL,BH
OUT 42h,AL
@SoundExit:
end;
end;
procedure nosound;
begin
asm
IN AL,61h
AND AL,11111100b
OUT 61h,AL
end;
end;
Serg123 (2002-08-26 15:29:00) [2]Да, кк сожалению вариант под НТ: увытираешь sysutils из заголовка, а дальше beep(<длительность в милисекундах>,<частота в Гц>);
ValWhite (2002-08-26 07:05:00) [3]Посмотри тут:
http://www.sources.ru/delphi/system/speaker_control.shtml
и тут:
http://delphibase.endimus.com/?action=viewfunc&topic=mediasound&id=10124
Anatoly Podgoretsky (2002-08-25 10:13:00) [4]Это только для платформы НТ, надо брать пример их FAQ
MBo (2002-08-25 08:55:00) [5]Windows.Beep
Anatoly Podgoretsky (2002-08-24 21:35:00) [6]Смотри в FAQ там есть код