![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Аналог паскального Sound [D5, D6, D7, Win2k, WinXP]
Dimmu © (2003-12-15 10:52:00)Как воспроизвести звук определенной частоты, через встроенный динамик? В паскале есть кажется Sound с частотой в качестве параметра. Нужно подобное из дельфи.
Mihey (2003-12-15 14:34:00) [1]Гм, параметры Beep работают только в NT. В остальных Windows может издаваться только коротенький beep. Нормальные бипалки ищем на Торри:
http://www.torry.net/pcspeaker.htm
Anatoly Podgoretsky (2003-12-15 12:23:00) [2]А просто Beep(5000,10000) не пикает, тогда нет динамика в компьютере.
Dimmu (2003-12-15 12:14:00) [3]
> alex_***
Спасибо, нашел я это в хелпе и написал такой код?
var h:THandle; w:Integer; pr:function(a,b:DWord):DWord;
begin
h:=0;
h:=LoadLibrary('kernel32.dll');
if h>0 then
begin
pr:=nil;
@pr:=GetProcAddress(h,'Beep');
if @pr<>nil then
w:=pr(5000,10000);
ShowMessageFMT('%d',[w]);
end;
end;
Но функция возвращает ноль и ессно ничего не пикает.
Ruslan Solovyev (2003-12-15 11:26:00) [4]Ops, мое сообщение можно игнорировать
Ruslan Solovyev (2003-12-15 11:25:00) [5]Мне такие функции не известны, может меня поправят.
В свое время я делал эмулятор Морзе используя waveOutXXXXX функции (Windows API): открываешь устройство и генеришь буфер в памяти (синусоиду), а затем проигрываешь.
Это коротко.
alex_*** (2003-12-15 11:22:00) [6]WinAPI:
BOOL Beep(
DWORD dwFreq, // sound frequency, in hertz
DWORD dwDuration // sound duration, in milliseconds
);