Comment puis-je jouer un son système avec Python?

8

J'écris une petite application de rappel et je veux jouer un son système une fois que la minuterie a atteint 0. Quelle est la façon la plus simple de jouer ce son, et quel son recommanderiez-vous?

Ingo
la source

Réponses:

15

La façon la plus simple serait probablement de débourser:

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

Cela fonctionnera également dans d'autres langages de programmation.

/usr/bin/canberra-gtk-playjouera un son du thème sonore actuel. Voir la spécification de nommage du son freedesktop.org pour une liste des sons disponibles et leur signification. Attention (à ma connaissance), il n'y a pas de thème sonore qui fournit tous ces sons.

Utilisez ls /usr/share/sounds/ubuntu/stereopour voir quels sons sont pris en charge par le thème sonore 'ubuntu' qui est par défaut, et rarement changé (en raison de la manière simple d'installer des thèmes sonores) sur Ubuntu.

dv3500ea
la source
Merci! Avez-vous une idée de l'endroit où je peux trouver plus d'identifiants? Parce que «cloche» ne me convient pas vraiment.
Ingo
Voir la réponse mise à jour.
dv3500ea
6
Pour des raisons de sécurité, je recommande d'utiliser subprocess. L'exécution basée sur des chaînes peut conduire à des situations dangereuses. Par exemple:import subprocess; subprocess.call(['/usr/bin/canberra-gtk-play','--id','bell'])
Kees Cook
@Kees Cook, veuillez expliquer comment l'exécution de la commande ci-dessus via system () peut conduire à des "situations dangereuses".
Cerin