# `winsound` --- Sound-playing interface for Windows

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

winsound.Beep(frequency, duration)

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

winsound.PlaySound(sound, flags)

  Call the underlying `PlaySound()` function from the Platform API. The sound parameter may be a filename, a system sound alias, audio data as a bytes-like object, or `None`. Its interpretation depends on the value of flags, which can be a bitwise ORed combination of the constants described below. If the sound parameter is `None`, any currently playing waveform sound is stopped. If the system indicates an error, `RuntimeError` is raised.

winsound.MessageBeep(type=MB_OK)

  Call the underlying `MessageBeep()` function from the Platform API. This plays a sound as specified in the registry. The type argument specifies which sound to play; possible values are `-1`, `MB_ICONASTERISK`, `MB_ICONEXCLAMATION`, `MB_ICONHAND`, `MB_ICONQUESTION`, and `MB_OK`, all described below. The value `-1` produces a "simple beep"; this is the final fallback if a sound cannot be played otherwise. If the system indicates an error, `RuntimeError` is raised.

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.MB_ICONASTERISK

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

winsound.MB_ICONEXCLAMATION

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

winsound.MB_ICONHAND

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

winsound.MB_ICONQUESTION

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

winsound.MB_OK

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