Como reproduzir um som do sistema com Python?


8

Estou escrevendo um pequeno aplicativo de lembrete e quero reproduzir um som do sistema assim que o timer atingir 0. Qual é a maneira mais fácil de reproduzir esse som e qual som você recomendaria?

Respostas:


15

A maneira mais fácil seria provavelmente desembolsar:

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

Isso também funcionará em outras linguagens de programação.

/usr/bin/canberra-gtk-playreproduzirá um som do tema de som atual. Consulte a especificação de nomes de som do freedesktop.org para obter uma lista dos sons disponíveis e seus significados. Lembre-se de que (até onde eu sei) não existe um tema de som que forneça todos esses sons.

Use ls /usr/share/sounds/ubuntu/stereopara ver quais sons são suportados pelo tema de som 'ubuntu', que é padrão e raramente é alterado (devido à maneira fácil de instalar temas de som) no Ubuntu.


Obrigado! Você tem alguma dica de onde posso encontrar mais IDs? Porque 'sino' realmente não combina comigo.
Ingo

Veja a resposta atualizada.
precisa saber é o seguinte

6
Por segurança, eu recomendo usar subprocess. A execução baseada em string pode levar a situações perigosas. Por exemplo:import subprocess; subprocess.call(['/usr/bin/canberra-gtk-play','--id','bell'])
Kees Cook

@Kees Cook, por favor, explique como a execução do comando acima via system () pode levar a "situações perigosas".
Cerin
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.