Beep (,  — гудок, сигнал) — простой однотонный звук, выводимый через встроенный динамик персонального компьютера.

Также «beep» называются различные функции и программы, связанные с этим звуком.

Функция Windows API

Beep — функция Windows API, предназначенная для воспроизведения простых однотонных звуков через встроенный динамик с заданной частотой и продолжительностью. Существует в операционных системах семейства Microsoft Windows и ReactOS. Входит в состав ядра системы (Kernel32.dll в 32-х разрядных версиях Windows и ReactOS).Beep  — Microsoft Developer Network.dll/win32/kernel32/misc/error.c — реализация функции Beep в ReactOS.

В более общем смысле beep (бип) — любой короткий звуковой сигнал, издаваемый любым электронным устройством, часто единственная наглядная возможность получить какую-либо информацию от устройства.

Применение

Функция Beep выполняется синхронно, то есть возвращает управление лишь после завершения воспроизведения звука. Она имеет два параметра: dwFrec — частота звука в герцах, допустимый диапазон — от 37 до 32 767 Гц; dwDuration — продолжительность звука в миллисекундах; и возвращает значение типа BOOL (ненулевое при успешном выполнении).

Минимальное допустимое значение частоты звука 37 Гц предотвращает возможность случайного или преднамеренного воспроизведения инфразвука, который может представлять опасность для здоровья человека.

В Windows XP SP3+ для воспроизведения используется устройство, использующее при прослушивании музыки. Если функция Beep воспроизводит звук через PC-speaker, стандартные средства регулировки громкости не окажут на неё влияния. Вместо этого для отключения звука можно использовать команды: net stop beep sc config beep start= disabled

Реализация Beep в Windows NT и ReactOS использует -устройство «\Device\Beep\». Поэтому прерывание работы потока во время её выполнения может привести к тому, что дескриптор устройства останется незакрытым.Аналог функций Sound() и NoSound() под WindowsNT/2k/XP.  — Мастера DELPHI.

История

Впервые появилась ещё в 16-разрядных версиях Windows. В ОС Windows 95/98/Me функция Beep была реализована ограниченно: значения обоих параметров игнорируются. При наличии звуковой карты воспроизводится стандартный системный звук, а при её отсутствии — звук с некоторыми стандартными параметрами через встроенный динамик.

В ReactOS функция Beep появилась 10 марта 1999 года.Diff of /trunk/reactos/dll/win32/kernel32/misc/error.c, revision 285 — ReactOS. Контроль значений параметров, наряду с рядом других исправлений, добавлен 27 октября 2005 года.Diff of /trunk/reactos/dll/win32/kernel32/misc/error.c, revision 18798 — ReactOS.

Пример использования

Ниже приведён исходный текст программы на языке Си, которая воспроизводит мелодию — пример синкопы.

#include <windows.h>

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { Beep(294, 1000/8); Beep(440, 1000/4); Beep(262*2, 1000/4); Beep(330*2, 1000/4); Beep(415, 1000/8); Beep(440, 1000);

return 0; }

См. также Управляющие символы — символ 07 (BELL).

Примечания

Категория:Windows API Категория:Музыкальные звуки