- Бип
-
Beep (/biːp/, англ. — гудок, сигнал) — простой однотонный звук, выводимый через встроенный динамик персонального компьютера.
Также «beep» называются различные функции и программы, связанные с этим звуком.
Содержание
Функция Windows API
Beep — функция Windows API, предназначенная для воспроизведения простых однотонных звуков через встроенный динамик с заданной частотой и продолжительностью. Существует в операционных системах семейства Microsoft Windows и Kernel32.dll в 32-хразрядных версиях Windows и ReactOS).[1][2]
В более общем смысле beep (бип) — любой короткий звуковой сигнал, издаваемый любым электронным устройством, часто единственная наглядная возможность получить какую-либо информацию от устройства.
Применение
Функция Beep выполняется синхронно, то есть возращает управление лишь после завершения воспроизведения звука. Она имеет два параметра:
dwFrec
— частота звука в герцах, допустимый диапазон — от 37 до 32 767 Гц;dwDuration
— продолжительность звука в миллисекундах;
и возвращает значение типа BOOL (ненулевое при успешном выполнении).
Минимальное допустимое значение частоты звука 37 Гц предотвращает возможность случайного или преднамеренного воспроизведения инфразвука, который может представлять опасность для здоровья человека.
Так как функция Beep воспроизводит звук через встроенный динамик, стандартные средства регулировки громкости не оказывают на неё влияния. Вместо этого для отключения звука можно использовать команды:
net stop beep sc config beep start= disabled
Реализация Beep в Windows NT и ReactOS использует файл-устройство «\Device\Beep\». Поэтому прерывание работы потока во время её выполнения может привести к тому, что дескриптор устройства останется незакрытым.[3]
История
Впервые появилась ещё в 16-разрядных версиях Windows. В ОС Windows 95/98/Me функция Beep была реализована ограниченно: значения обоих параметров игнорируются. При наличии звуковой карты воспроизводится стандартный системный звук, а при её отсутствии — звук с некоторыми стандартными параметрами через встроенный динамик.
В ReactOS функция Beep появилась 10 марта 1999 года.[4] Контроль значений параметров, наряду с рядом других исправлений, добавлен 27 октября 2005 года.[5]
Пример использования
Пример использования функции Beep
Ниже приведён исходный текст программы на языке Си, которая воспроизводит мелодию — пример синкопы.
#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; }
Источники
- ↑ Beep — Microsoft Developer Network.
- ↑ dll/win32/kernel32/misc/error.c — реализация функции Beep в ReactOS.
- ↑ Аналог функций Sound() и NoSound() под WindowsNT/2k/XP. — Мастера DELPHI.
- ↑ Diff of /trunk/reactos/dll/win32/kernel32/misc/error.c, revision 285 — ReactOS.
- ↑ Diff of /trunk/reactos/dll/win32/kernel32/misc/error.c, revision 18798 — ReactOS.
Wikimedia Foundation. 2010.