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

バージョン 1.5.2 で追加.

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

`winsound.``Beep`(frequency, duration)

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

  バージョン 1.6 で追加.

`winsound.``PlaySound`(sound, flags)

  プラットフォームの API から関数 `PlaySound()` を呼び出します。引数 sound はファイル名、音声データの文字列、または `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` は "単純なビープ音" を再生します; この値は他の場合で音声を再生することができなかった際の最終的な代替音です。

  バージョン 2.3 で追加.

`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 が文字列の形式をとった WAV ファイルのメモリ上のイメージであることを示します。

  注釈

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

`winsound.``SND_PURGE`

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

  注釈

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

`winsound.``SND_ASYNC`

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

`winsound.``SND_NODEFAULT`

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

`winsound.``SND_NOSTOP`

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

`winsound.``SND_NOWAIT`

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

  注釈

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

`winsound.``MB_ICONASTERISK`

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

`winsound.``MB_ICONEXCLAMATION`

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

`winsound.``MB_ICONHAND`

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

`winsound.``MB_ICONQUESTION`

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

`winsound.``MB_OK`

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