Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.30;
Скачать: CL | DM;

Вниз

системный динамик и Win XP   Найти похожие ветки 

 
andrewxx ©   (2003-08-21 15:56) [0]

Мастера! Может кто знает: как заставить пищать динамик с определенной частотой в Delphi. Я пробовал написать вставочку на ASMe, типа
asm
pusha
mov al,0b6h
out 43h,al
in al,61h
or al,3
out 61h,al
mov ax,4500 //частота
out 42h,al
xchg al,ah
out 42h,al
popa
end;

Вообще работает, но не в Win XP. Че надо дописать чтобы заработало?
А может можно как по-другому???


 
clickmaker ©   (2003-08-21 16:02) [1]

Win API - Beep


 
andrewxx ©   (2003-08-21 16:05) [2]


> Win API - Beep

Это же не заставит пищать с определенной (нужной мне частотой), а мне именно нужно использовать несколько частот.


 
clickmaker ©   (2003-08-21 16:08) [3]

Хелп читаем ?

BOOL Beep(

DWORD dwFreq, // sound frequency, in hertz
DWORD dwDuration // sound duration, in milliseconds
);


 
andrewxx ©   (2003-08-21 16:19) [4]

А сорри, я это знал, но у меня почему-то это не работает.


 
Novenkij ©   (2003-08-21 20:11) [5]

procedure spiker(Freq: word; duration: integer);
var
Ver: TOsVersionInfo;
begin
Ver.dwOSVersionInfoSize := SizeOf(Ver);
GetVersionEx(Ver);
if Ver.dwPlatformId = VER_PLATFORM_WIN32_NT then
Windows.Beep(Freq, Duration)
else begin
asm
movzx ecx, Freq
mov eax, 1193180
sub edx, edx
div ecx
mov ecx, eax
mov al,0b6H
out 43H,al
mov al,cl
out 42h,al
mov al,ch
out 42h,al
in al,61H
or al,03H
out 61H,al
end;
sleep(Duration);
asm
in al,61H
and al,0fcH
out 61H,al
end;
end;
end;


Работает в любой винде



Страницы: 1 вся ветка

Текущий архив: 2003.10.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-98559
tria
2003-10-20 13:45
2003.10.30
Как в TTreeView отловить событие перехода между елементами?


3-98492
OlkaGTS
2003-10-09 12:31
2003.10.30
Помогите с запросом!!!


1-98587
Эл
2003-10-19 15:46
2003.10.30
Регулярные выражения в delphi


14-98839
sagchat
2003-10-11 15:32
2003.10.30
Посоветуйте сотку в пределах 100$


7-98908
Rob
2003-08-15 01:16
2003.10.30
изменение строковых ресурсов в экзешнике