Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのwinsoundモジュールでWindowsのサウンドを再生する方法


winsoundモジュールは、Windowsオペレーティングシステム向けのPython環境でのみ利用できる標準ライブラリです。このモジュールを使うと、PCスピーカーからのビープ音やWAVファイル、Windowsに登録されたシステムサウンドなどを手軽に再生できます。winsoundが提供する主な関数は以下のとおりです。

Beep() ― PCスピーカーからビープ音を鳴らす

Beep()関数を呼び出すと、PCのスピーカーからビープ音が鳴ります。この関数には2つの引数が必要です。第1引数のfrequency(周波数)は音の周波数をヘルツ単位で指定し、37〜32,767ヘルツの範囲内でなければなりません。第2引数のduration(継続時間)は音を鳴らす時間をミリ秒単位で指定します。

>>> import winsound
>>> winsound.Beep(1000, 500)

上記の例では、1,000Hzのビープ音を500ミリ秒(0.5秒)間鳴らします。

MessageBeep() ― レジストリに登録されたシステムサウンドを再生する

MessageBeep()関数は、Windowsレジストリに登録されているサウンドを再生します。type引数でどのサウンドを鳴らすかを指定でき、指定できる値は以下のとおりです。

  • -1
  • MB_ICONASTERISK
  • MB_ICONEXCLAMATION
  • MB_ICONHAND
  • MB_ICONQUESTION
  • MB_OK(デフォルト)

-1を指定すると「単純なビープ音」が鳴ります。引数を省略した場合はMB_OKが適用されます。

>>> winsound.MessageBeep()

PlaySound() ― WAVファイルやシステムサウンドを柔軟に再生する

PlaySound()関数は、プラットフォームAPIが提供する基盤のPlaySound()関数を呼び出します。sound引数にはファイル名、システムサウンドのエイリアス、またはbytesライクオブジェクトとしての音声データを指定できます。その解釈はflags引数の値によって決まります。主なフラグは以下のとおりです。

SND_FILENAMEsound引数がWAVファイルの名前であることを示す
SND_LOOPサウンドを繰り返し再生する
SND_MEMORYsound引数がWAVファイルのメモリイメージ(bytesライクオブジェクト)であることを示す
SND_ASYNC即座に制御を返し、サウンドを非同期で再生できるようにする
SND_NODEFAULT指定したサウンドが見つからない場合、システムのデフォルト音を再生しない
SND_NOSTOP現在再生中のサウンドを中断しない

フラグはビット単位のOR演算子「|」で組み合わせて指定できます。次のステートメントは、指定したWAVファイルを再生します。

>>> winsound.PlaySound('sample.wav', winsound.SND_FILENAME | winsound.SND_NOWAIT)

SND_ALIAS ― システムサウンドのエイリアス名を使う

SND_ALIASフラグを指定すると、Windowsレジストリのキーに関連付けられたサウンド名で再生できます。レジストリに該当する名前が存在しない場合は、SND_NODEFAULTが指定されていない限り、システムのデフォルトサウンドが再生されます。すべてのWin32システムで以下のエイリアスがサポートされています。

PlaySound() の名前対応するコントロールパネルのサウンド名
'SystemAsterisk'Asterisk(情報)
'SystemExclamation'Exclamation(警告)
'SystemExit'Exit Windows(Windowsの終了)
'SystemHand'Critical Stop(重大なエラー)
'SystemQuestion'Question(問い合わせ)

たとえば、次のステートメントはWindows終了時のサウンドを再生します。

>>> winsound.PlaySound("SystemExit", winsound.SND_ALIAS)

MessageBeep()用のサウンド定数

winsoundモジュールでは、MessageBeep()で使える以下のサウンド定数も定義されています。

MB_ICONASTERISKSystemDefaultサウンドを再生する
MB_ICONEXCLAMATIONSystemExclamationサウンドを再生する
MB_ICONHANDSystemHandサウンドを再生する
MB_ICONQUESTIONSystemQuestionサウンドを再生する
MB_OKSystemDefaultサウンドを再生する
  1. Windows 10 で DVD を無料で再生する方法【おすすめプレイヤー4選】

    Windows 10 で DVD を再生する方法: DVD(Digital Versatile Disk)は、USBメモリが登場する前は最も人気のある記録メディアの一つでした。DVDはCDの改良版にあたり、CDの約5倍ものデータを保存でき、読み書きの速度もCDより高速です。 しかし、USBメモリや外付けハードディスクの普及により、保存容量や持ち運びやすさの面で不利になったDVDは、徐々に市場から姿を消していきました。それでも今なお、OSの起動用ディスクやメディアファイルの受け渡しなどにDVDは利用されています。ただし、Windows 10 の標準搭載されている Windows Media Pl

  2. Windows PCで使えるおすすめオーディオブックプレーヤー11選

    パソコンや電子書籍リーダーで本を読むには眠気が強すぎて、少し目を休ませたい——それでも本そのものは手放したくない。そんな経験はありませんか?実は解決策があります。それが「オーディオブック(音声読み上げ本)を聴く」という方法です。現在、さまざまな形式のオーディオブックに対応したアプリが数多く登場しており、Windows PCでオーディオブックを楽しみながら、同時に別の作業を進めることもできます。これらのアプリはAIF、MP3、WAV、WMAなどのファイルを再生できるほか、アーティスト名・タイトル・ファイル名などのフィルターで検索することも可能です。Windows PC用オーディオブックプレーヤー