Pythonでシステムサウンドを再生するにはどうすればよいですか?


8

小さなリマインダーアプリを書いていて、タイマーが0に達したらシステムサウンドを再生したいと思っています。そのサウンドを再生する最も簡単な方法はどれですか。どのサウンドをお勧めしますか?

回答:


15

最も簡単な方法は、おそらくシェルアウトすることでしょう:

system("/usr/bin/canberra-gtk-play --id='bell'")

これは他のプログラミング言語でも機能します。

/usr/bin/canberra-gtk-play現在のサウンドテーマのサウンドを再生します。利用可能なサウンドとその意味のリストについては、freedesktop.org サウンド命名仕様を参照してください。(私の知る限り)これらのすべてのサウンドを提供するサウンドテーマがないことに注意してください。

ls /usr/share/sounds/ubuntu/stereoデフォルトで「ubuntu」サウンドテーマでサポートされているサウンドを確認するために使用し、Ubuntuで(サウンドテーマをインストールする簡単な方法がないため)めったに変更されません。


ありがとう!さらにIDを見つけることができる場所についてのヒントはありますか?「ベル」は本当に私には合わないからです。
2010年

更新された回答を参照してください。
dv3500ea 2010年

6
安全のため、の使用をお勧めしsubprocessます。文字列ベースの実行は危険な状況につながる可能性があります。例:import subprocess; subprocess.call(['/usr/bin/canberra-gtk-play','--id','bell'])
Kees Cook

@Kees Cook、system()を介して上記のコマンドを実行すると、「危険な状況」になる可能性があることを説明してください。
セリン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.