Получить общую громкость звука на C в Linux

Я пытаюсь получить (и, возможно, позже установить) общую громкость звука в Linux. Я использую PulseAudio, но в идеале он должен работать и с ALSA.

Я нашел этот очень полезным постом о том, как установить громкость, и из этого я смог сделать вывод о существовании snd_mixer_selem_get_playback_volume () для получения текущей настройки. Однако в моей системе это, кажется, дает мне неправильные показания - где программы микшера показывают 100%, это максимум около 66%.

Если я открою pavucontrol, я увижу, что громкость для этого устройства вывода совпадает с показаниями, которые я получаю отсюда, поэтому я предполагаю, что он дает мне аппаратную настройку громкости, а не глобальный главный том, который я хотел.

5
задан Community 23 May 2017 в 11:54
поделиться