# `winsound` --- Windows 用の音声再生インターフェース

`winsound` モジュールは Windows プラットフォーム上で提供されている基本的な音声再生機構へのアクセス手段を提供します。このモジュールではいくつかの関数と定数が定義されています。

winsound.Beep(frequency, duration)

  PC のスピーカを鳴らします。引数 frequency は鳴らす音の周波数の指定で、単位は Hz です。値は 37 から 32,767 でなくてはなりません。引数 duration は音を何ミリ秒鳴らすかの指定です。システムがスピーカを鳴らすことができない場合、例外 `RuntimeError` が送出されます。

winsound.PlaySound(sound, flags)

  プラットフォームの API から関数 `PlaySound()` を呼び出します。引数 sound はファイル名、システム音エイリアス、音声データの bytes-like オブジェクト、または `None` をとり得ます。 sound の解釈は flags の値に依存します。この値は以下に述べる定数をビット単位OR して組み合わせたものになります。 sound 引数が `None` だった場合、現在再生中のWave形式サウンドの再生を停止します。システムのエラーが発生した場合、例外 `RuntimeError` が送出されます。

winsound.MessageBeep(type=MB_OK)

  根底にある `MessageBeep()` 関数をプラットフォームの API から呼び出します。この関数は音声をレジストリの指定に従って再生します。 type 引数はどの音声を再生するかを指定します; とり得る値は `-1`, `MB_ICONASTERISK`, `MB_ICONEXCLAMATION`, `MB_ICONHAND`, `MB_ICONQUESTION`,および `MB_OK` で、全て以下に記述されています。値 `-1` は "単純なビープ音" を再生します; この値は他の場合で音声を再生することができなかった際の最終的な代替音です。システムがエラーを示したら、`RuntimeError` が送出されます。

winsound.SND_FILENAME

  sound パラメタが WAV ファイル名であることを示します。 `SND_ALIAS` と同時に使ってはいけません。

winsound.SND_ALIAS

  引数 sound はレジストリにある音声データに関連付けられた名前であることを示します。指定した名前がレジストリ上にない場合、定数 `SND_NODEFAULT` が同時に指定されていない限り、システム標準の音声データが再生されます。標準の音声データが登録されていない場合、例外 `RuntimeError` が送出されます。 `SND_FILENAME` と同時に使ってはいけません。

  全ての Win32 システムは少なくとも以下の名前をサポートします; ほとんどのシステムでは他に多数あります:

  `PlaySound()` name | 対応するコントロールパネルでの音声名
  --- | ---
  `'SystemAsterisk'` | Asterisk
  `'SystemExclamation'` | Exclamation
  `'SystemExit'` | Exit Windows
  `'SystemHand'` | Critical Stop
  `'SystemQuestion'` | Question

  例えば:

      import winsound
      # Play Windows exit sound.
      winsound.PlaySound("SystemExit", winsound.SND_ALIAS)

      # Probably play Windows default sound, if any is registered (because
      # "*" probably isn't the registered name of any sound).
      winsound.PlaySound("*", winsound.SND_ALIAS)

winsound.SND_LOOP

  音声データを繰り返し再生します。システムがブロックしないようにするため、 `SND_ASYNC` フラグを同時に使わなくてはなりません。 `SND_MEMORY` と同時に使うことはできません。

winsound.SND_MEMORY

  `PlaySound()` の引数 sound が bytes-like オブジェクト の形式をとった WAV ファイルのメモリ上のイメージであることを示します。

  注釈

  このモジュールはメモリ上のイメージを非同期に再生する機能をサポートしていません。従って、このフラグと `SND_ASYNC` を組み合わせると例外 `RuntimeError` が送出されます。

winsound.SND_PURGE

  指定した音声の全てのインスタンスについて再生処理を停止します。

  注釈

  このフラグは現代のWindowsプラットフォームではサポートされていません。

winsound.SND_ASYNC

  音声を非同期に再生するようにして、関数呼び出しを即座に返します。

winsound.SND_NODEFAULT

  指定した音声が見つからなかった場合にシステム標準の音声を鳴らさないようにします。

winsound.SND_NOSTOP

  現在鳴っている音声を中断させないようにします。

winsound.SND_NOWAIT

  サウンドドライバがビジー状態にある場合、関数がすぐ返るようにします。

  注釈

  このフラグは現代のWindowsプラットフォームではサポートされていません。

winsound.SND_APPLICATION

  The sound parameter is an application-specific alias in the registry. This flag can be combined with the `SND_ALIAS` flag to specify an application-defined sound alias.

winsound.MB_ICONASTERISK

  音声 `SystemDefault` を再生します。

winsound.MB_ICONEXCLAMATION

  音声 `SystemExclamation` を再生します。

winsound.MB_ICONHAND

  音声 `SystemHand` を再生します。

winsound.MB_ICONQUESTION

  音声 `SystemQuestion` を再生します。

winsound.MB_OK

  音声 `SystemDefault` を再生します。