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

関連項目

エラー処理関数

MessageBeep

ユーザーへの通知