Вниз
Скачать: CL | DM;

Как извлечь писк из динамика?   Найти похожие ветки 

← →
L.eXX   (2002-03-20 19:20) [0]

Привет, Мастера! У меня возникла задача: надо пискнуть системным динамиком. В help"е нашёл только MessageBeep(0). Но это не подходит, надо бы звук с заданной частотой и продолжительностью (например 1800Hz и 80ms). Я нашёл у себя чей-то примерчик, там написана такая процедура с асмом:

procedure SpeakerBeep(Frequency: Word; Duration: Integer);
begin
asm
mov al,0b6H
out 43H,al
mov ax,Frequency
out 42h,al
ror ax,8
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;


Однако это почему-то не совсем правильно с частотой работает: SpeakerBeep(200,100) даёт высокий звук, а SpeakerBeep(2000,100) - низкий. А должно быть ведь наоборот! :(

Может быть у Мастеров есть аналогичная процедура для динамика, или может чего в SpeakerBeep можно подправить? :)


← →
lipskiy ©   (2002-03-20 20:40) [1]

Windows.beep(x,y)
что-то частота, что-то длительность в миллисекундах.


← →
Anatoly Podgoretsky ©   (2002-03-20 22:26) [2]

Не пойдет, x,y в Win95/98 игнорируются


← →
L.eXX   (2002-03-20 23:13) [3]

а может это из-за "особенности реализации" юнита Windows? :)

unit Windows;

...

implementation

...

function Beep(dwFreq, dwDuration: DWORD): BOOL; stdcall;
{$EXTERNALSYM Beep}

...


?


← →
Doom ©   (2002-03-21 06:18) [4]

посмотрите в компонентах на этом сайте DirectPort v3.0
найдете там это и многое другое.


← →
Dimka Maslov ©   (2002-03-21 09:48) [5]

http://dims.gpsm.ru/files/index_en.php?page=dim/system.htm&ref=Sound


← →
L.eXX   (2002-03-21 13:51) [6]

Всем большое спасибо за ответы! :)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
4-55377
Tpv
2002-04-12 10:11
2002.06.17
Считывание данных из Wav файла


1-55053
Tahion
2002-05-25 14:01
2002.06.17
Как в DrawGrid-е нарисовать какртинку?


1-55161
ЗЛ
2002-06-04 14:50
2002.06.17
Есть StringGrid и у меня в зависимости от того какая команда в яч


3-54999
VikOs
2002-05-22 19:46
2002.06.17
SQL


7-55326
HVS
2002-03-10 11:25
2002.06.17
Состояние телефонной линии после набора номера




   Наверх