Bagaimana saya bisa memainkan suara sistem dengan Python?


8

Saya sedang menulis aplikasi pengingat kecil dan ingin memainkan suara sistem begitu timer telah mencapai 0. Apa cara termudah untuk memainkan suara itu, dan suara mana yang akan Anda rekomendasikan?

Jawaban:


15

Cara termudah mungkin adalah keluar:

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

Ini akan bekerja dalam bahasa pemrograman lain juga.

/usr/bin/canberra-gtk-playakan memainkan suara dari tema suara saat ini. Lihat spec penamaan suara freedesktop.org untuk daftar suara yang tersedia dan artinya. Waspadalah bahwa (sejauh yang saya tahu) tidak ada tema suara yang menyediakan semua suara ini.

Gunakan ls /usr/share/sounds/ubuntu/stereountuk melihat suara apa yang didukung oleh tema suara 'ubuntu' yang default, dan jarang berubah (karena tidak ada cara mudah untuk menginstal tema suara) di Ubuntu.


Terima kasih! Apakah Anda memiliki petunjuk tentang di mana saya dapat menemukan lebih banyak id? Karena 'bel' tidak cocok untukku.
Ingo

Lihat jawaban yang diperbarui.
dv3500ea

6
Untuk keamanan, saya sarankan menggunakan subprocess. Eksekusi berbasis string dapat menyebabkan situasi berbahaya. Sebagai contoh:import subprocess; subprocess.call(['/usr/bin/canberra-gtk-play','--id','bell'])
Kees Cook

@Kees Cook, Tolong jelaskan bagaimana menjalankan perintah di atas melalui sistem () dapat menyebabkan "situasi berbahaya".
Cerin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.