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" を再生します。
