Beep 関数 (utilapiset.h)
単純な音色をスピーカーから出します。 関数は同期です。警告可能な待機を実行し、サウンドが終了するまで呼び出し元に制御を返しません。
構文
BOOL Beep(
[in] DWORD dwFreq,
[in] DWORD dwDuration
);
パラメーター
[in] dwFreq
音の周波数 (ヘルツ単位)。 このパラメーターは、37 ~ 32,767 (0x25 ~ 0x7FFF) の範囲である必要があります。
[in] dwDuration
サウンドの継続時間 (ミリ秒単位)。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
昔、すべてのPCコンピュータは、プリミティブサウンドを生成するための共通の8254プログラム可能な間隔タイマーチップを共有しました。 Beep 関数は、そのハードウェアにビープ音を出力するために特別に記述されました。
これらの古いシステムでは、ミュートとボリュームコントロールは ビープ音には影響しません。あなたはまだ音が聞こえます。 トーンを無音にするには、次のコマンドを使用しました。
net stop beep
sc config beep start= disabled
それ以来、サウンドカードはほぼすべてのPCコンピュータの標準的な機器となっています。 サウンドカードが一般的になるにつれて、メーカーは古いタイマーチップをコンピュータから取り外し始めました。 チップは、サーバー コンピューターの設計からも除外されました。 その結果、チップを持たないすべてのコンピューターで ビープ音 が機能しませんでした。 ほとんどの開発者は、8254 チップの代わりに既定のサウンド デバイスを使用する MessageBeep 関数の呼び出しに移ったので、これは問題ありませんでした。
最終的には、通信するハードウェアがないため、Windows Vista および Windows XP 64 ビット エディションで ビープ音 のサポートが削除されました。
Windows 7 では、 ビープ音 が書き換えられ、セッションの既定のサウンド デバイスにビープ音が渡されました。 これは通常、ターミナル サービスで実行されている場合を除き、サウンド カードです。この場合、ビープ音がクライアントにレンダリングされます。
例
次の例では、この関数の使用方法を示します。
Beep( 750, 300 );
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | utilapiset.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |