![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PCSpeaker [D3, Win95/98]
xman © (2003-04-28 21:08:00)Кто нибудь подскажет как пикнуть спикером? Только не beep.
Мне надо чтобы был выбор какой тональностью и длительностью пикнуть.
mashinist (2003-04-29 00:18:00) [1]procedure TTelePortForm.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 TTelePortForm.nosound_;
begin
asm
IN AL,61h
AND AL,11111100b
OUT 61h,AL
end;
end;
procedure TTelePortForm.DoneThreadExecute(Sender: TObject);
begin
sound_(220);
sleep(100);
sound_(440);
sleep(100);
sound_(880);
sleep(100);
sound_(220);
sleep(100);
sound_(440);
sleep(100);
sound_(880);
sleep(100);
sound_(220);
sleep(100);
sound_(440);
sleep(100);
sound_(880);
sleep(100);
nosound_;
end;
Burmistroff (2003-04-28 21:52:00) [2]windows.beep(freq, dur);