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

ソースコード: PC/winsound.c


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
# Windows の終了音を再生する。
winsound.PlaySound("SystemExit", winsound.SND_ALIAS)

# 登録されていれば、おそらく Windows のデフォルトの音を再生する。
# "*" という名前の音声は登録されていない可能性が高いため。
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

sound 引数が、レジストリに登録されたアプリケーション固有のエイリアスであることを示します。 このフラグを SND_ALIAS フラグと組み合わせると、アプリケーションが定義した音声エイリアスを指定できます。

winsound.SND_SENTRY

音声の再生時に SoundSentry イベントを発生させます。

Added in version 3.14.

winsound.SND_SYNC

音声を同期的に再生します。 これがデフォルトの動作です。

Added in version 3.14.

winsound.SND_SYSTEM

音声をシステム通知音用のオーディオセッションに割り当てます。

Added in version 3.14.

winsound.MB_ICONASTERISK

音声 SystemDefault を再生します。

winsound.MB_ICONEXCLAMATION

音声 SystemExclamation を再生します。

winsound.MB_ICONHAND

音声 SystemHand を再生します。

winsound.MB_ICONQUESTION

音声 SystemQuestion を再生します。

winsound.MB_OK

音声 SystemDefault を再生します。

winsound.MB_ICONERROR

音声 SystemHand を再生します。

Added in version 3.14.

winsound.MB_ICONINFORMATION

音声 SystemDefault を再生します。

Added in version 3.14.

winsound.MB_ICONSTOP

音声 SystemHand を再生します。

Added in version 3.14.

winsound.MB_ICONWARNING

音声 SystemExclamation を再生します。

Added in version 3.14.