Beep 函式 (utilapiset.h)
在喇叭上產生簡單的音調。 函式是同步的;它會執行可警示的等候,而且在音效完成之前,不會將控制權傳回給呼叫端。
語法
BOOL Beep(
[in] DWORD dwFreq,
[in] DWORD dwDuration
);
參數
[in] dwFreq
聲音的頻率,以赫茨為單位。 此參數的範圍必須是 37 到 32,767(0x25 到 0x7FFF)。
[in] dwDuration
音效的持續時間,以毫秒為單位。
傳回值
如果函式成功,則傳回值為非零值。
如果函式失敗,傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
言論
很久以前,所有計算機計算機都共用了通用的8254可程式化間隔定時器晶片,用於產生原始聲音。 Beep 函式專門撰寫,以在該硬體上發出嗶聲。
在這些較舊的系統上,靜音和音量控件對 Beep沒有影響;你仍然會聽到語氣。 若要讓語氣保持沉默,您使用下列命令:
net stop beep
sc config beep start= disabled
此後,聲卡已成為幾乎所有計算機計算機上的標準設備。 隨著聲卡越來越普遍,製造商開始從計算機中移除舊的定時器晶元。 晶片也排除在伺服器計算機的設計之外。 結果是,蜂鳴 沒有晶元在所有計算機上沒有工作。 沒關係,因為大多數開發人員都繼續呼叫 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 |