Você pode usar call
do módulo subprocess
:
from subprocess import call
call(["amixer", "-D", "pulse", "sset", "Master", "0%"])
Claro, você pode usar o código Python normal com ele:
valid = False
while not valid:
volume = input('What volume? > ')
try:
volume = int(volume)
if (volume <= 100) and (volume >= 0):
call(["amixer", "-D", "pulse", "sset", "Master", str(volume)+"%"])
valid = True
except ValueError:
pass
Este código fará um loop até que o usuário forneça uma entrada válida - entre 0 e 100, e então definirá o volume para isso.
Isso será executado no Python 3. Altere o input
para raw_input
para o Python 2.
Para aumentar em 10% quando o script é executado, você pode fazer uma de duas coisas.
Você pode usar o módulo alsaaudio
.
Primeiro, instale com
sudo apt-get install python-alsaaudio
e depois importá-lo:
import alsaaudio
podemos obter o volume:
>>> m = alsaaudio.Mixer()
>>> vol = m.getvolume()
>>> vol
[50L]
também podemos definir o volume:
>>> m.setvolume(20)
>>> vol = m.getvolume()
>>> vol
[20L]
Esse número é um inteiro longo em uma lista. Então, para torná-lo um número utilizável, podemos fazer int(vol[0])
.
Então, aumentar em 10% quando é executado?
import alsaaudio
m = alsaaudio.Mixer()
vol = m.getvolume()
vol = int(vol[0])
newVol = vol + 10
m.setvolume(newVol)
Ou podemos ficar com o módulo subprocess
e os comandos padrão do Ubuntu:
from subprocess import call
call(["amixer", "-D", "pulse", "sset", "Master", "10%+"])
aumentará em 10%.