Другой способ - управлять громкостью с помощью инструмента командной строки. Для командной строки Alsa существует инструмент amixer
:
amixer sset Master 50%
Теперь вы можете создать простой скрипт на python, который запускает указанную выше команду:
import subprocess
# a value between 0 and 100
volume = 50
command = ["amixer", "sset", "Master", "{}%".format(volume)]
subprocess.Popen(command)
Вы можете изменить Master
на другие звуковые карты. Вы можете получить список элементов управления:
$ amixer scontrols
Simple mixer control 'Master',0
Simple mixer control 'PCM',0
Simple mixer control 'Line',0
Simple mixer control 'CD',0
Simple mixer control 'Mic',0
Simple mixer control 'Mic Boost (+20dB)',0
Simple mixer control 'Video',0
Simple mixer control 'Phone',0
Simple mixer control 'IEC958',0
Simple mixer control 'Aux',0
Simple mixer control 'Capture',0
Simple mixer control 'Mix',0
Simple mixer control 'Mix Mono',0