Si encuentras algún detalle que no entiendes puedes comentarlo y haremos todo lo posible de ayudarte lo mas rápido que podamos.
Solución:
Puedes usar call
desde el subprocess
módulo:
from subprocess import call
call(["amixer", "-D", "pulse", "sset", "Master", "0%"])
Fuente
Por supuesto, puedes usar el código python normal con él:
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 se repetirá hasta que el usuario proporcione una entrada válida, entre 0 y 100, y luego establecerá el volumen en ese valor.
Esto se ejecutará en Python 3. Cambie el input
a raw_input
para pitón 2.
Para aumentar en un 10% cuando se ejecuta el script, puede hacer una de dos cosas.
Puedes usar el alsaaudio
módulo.
Primero, instale con
sudo apt-get install python-alsaaudio
y luego importarlo:
import alsaaudio
podemos obtener el volumen:
>>> m = alsaaudio.Mixer()
>>> vol = m.getvolume()
>>> vol
[50L]
También podemos configurar el volumen:
>>> m.setvolume(20)
>>> vol = m.getvolume()
>>> vol
[20L]
Este número es un entero largo en una lista. Entonces, para convertirlo en un número utilizable, podemos hacer int(vol[0])
.
Entonces, ¿aumentar en un 10% cuando se ejecuta?
import alsaaudio
m = alsaaudio.Mixer()
vol = m.getvolume()
vol = int(vol[0])
newVol = vol + 10
m.setvolume(newVol)
O podemos quedarnos con el subprocess
módulo y comandos predeterminados de Ubuntu:
from subprocess import call
call(["amixer", "-D", "pulse", "sset", "Master", "10%+"])
aumentará en un 10%.
Mis pronombres son él / él
Para mí, el código de Tim no funcionó del todo. Tuve que hacer esto:
import alsaaudio
m = alsaaudio.Mixer(alsaaudio.mixers[0]) # alsaaudio.mixers = ["PCM"] for me.
m.setvolume(90) # Or whatever
Puede ser debido a mi raro/roto .asoundrc
archivo de configuración. Pero dado que no hay documentación de referencia real para .asoundrc
– solo algunos ejemplos aleatorios – No creo que puedas culparme.
Además, no llame a los programas de línea de comando para hacerlo. Eso es feo y propenso a errores.
Nos encantaría que puedieras dar visibilidad a este post si te fue de ayuda.