Beep 函数 (utilapiset.h)
在扬声器上生成简单的音调。 函数是同步的;它执行可警报的等待,在声音完成之前不会将其控制返回到其调用方。
语法
BOOL Beep(
[in] DWORD dwFreq,
[in] DWORD dwDuration
);
参数
[in] dwFreq
声音的频率,以赫茨为单位。 此参数的范围必须为 37 到 32,767(0x25到 0x7FFF)。
[in] dwDuration
声音的持续时间(以毫秒为单位)。
返回值
如果函数成功,则返回值为非零。
如果函数失败,则返回值为零。 若要获取扩展的错误信息,请调用 GetLastError。
言论
很久以前,所有电脑计算机都共享了常见的 8254 可编程间隔计时器芯片,用于生成原始声音。 Beep 函数专门编写,用于在该硬件上发出蜂鸣声。
在这些较旧的系统上,静音和音量控制对 蜂鸣声没有影响;你仍然会听到语气。 若要静音语气,请使用以下命令:
网停止蜂鸣声
sc 配置 beep start= 禁用
此后,声卡已成为几乎所有电脑计算机上的标准设备。 随着声卡变得越来越常见,制造商开始从计算机中删除旧的计时器芯片。 这些芯片也被排除在服务器计算机的设计之外。 结果是,蜂鸣声 在没有芯片的所有计算机上都不起作用。 没关系,因为大多数开发人员都继续调用 MessageBeep 函数,该函数使用默认声音设备而不是 8254 芯片。
最终,由于缺少与硬件通信,在 Windows Vista 和 Windows XP 64 位版中放弃了对从主板扬声器播放声音的支持。
在 Windows 7 中,Beep 被重写,以将蜂鸣声传递到会话的默认声音设备。 这通常是声卡,除非在终端服务下运行时,在这种情况下,在客户端上呈现蜂鸣声。
例子
以下示例演示如何使用此函数。
Beep( 750, 300 );
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows XP [桌面应用 |UWP 应用] |
支持的最低服务器 | Windows Server 2003 [桌面应用 |UWP 应用] |
目标平台 | 窗户 |
标头 | utilapiset.h (包括 Windows.h) |
库 | Kernel32.lib |
DLL | Kernel32.dll |