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

Windowsプラットフォームで利用できます。

バージョン 1.5.2 で 新たに追加 された仕様です。

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

Beep( frequency, duration)
PC のスピーカを鳴らします。 引数 frequency は鳴らす音の周波数の指定で、単位は Hz です。 値は 37 から 32.767 でなくてはなりません。 引数 duration は音を何ミリ秒鳴らすかの指定です。 システムがスピーカを鳴らすことができない場合、例外 RuntimeError が送出されます。 注意: Windows 95 および 98 では、Windows の関数 Beep() は存在しますが役に立ちません (この関数は引数を無視します)。これらの ケースでは、Python はポートを直接操作して Beep() をシミュレートします (バージョン 2.1 で追加されました) 。この機能が 全てのシステムで動作するかどうかはわかりません。 バージョン 1.6 で 新たに追加 された仕様です。

PlaySound( sound, flags)
プラットフォームの API から関数 PlaySound() を呼び出します。 引数 sound はファイル名、音声データの文字列、または None をとり得ます。sound の解釈は flags の値に依存します。この値は 以下に述べる定数をビット単位で OR して組み合わせたものになります。 システムのエラーが発生した場合、例外 RuntimeError が送出されます。

MessageBeep( [type=MB_OK])
根底にある MessageBeep() 関数をプラットフォームの API から 呼び出します。この関数は音声をレジストリの指定に従って再生します。 type 引数はどの音声を再生するかを指定します; とり得る値は -1MB_ICONASTERISKMB_ICONEXCLAMATIONMB_ICONHANDMB_ICONQUESTION 、および MB_OK で、 全て以下に記述されています。 値 -1 は ``単純なビープ音'' を再生します; この値は他の場合で音声を再生することができなかった 際の最終的な代替音です。 バージョン 2.3 で 新たに追加 された仕様です。

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

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)

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

SND_MEMORY
PlaySound() の引数 sound が文字列の形式をとった WAV ファイルのメモリ上のイメージであることを示します。 注意: このモジュールはメモリ上のイメージを非同期に再生する機能をサポート していません。従って、このフラグと SND_ASYNC を組み合わせると 例外 RuntimeError が送出されます。

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

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

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

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

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

MB_ICONASTERISK
音声 SystemDefault を再生します。

MB_ICONEXCLAMATION
音声 SystemExclamation を再生します。

MB_ICONHAND
音声 SystemHand を再生します。

MB_ICONQUESTION
音声 SystemQuestion を再生します。

MB_OK
音声 SystemDefault を再生します。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。