Xinqi Bao's Git
3 #include <sys/soundcard.h>
12 vol_perc(const char *card
)
16 char *vnames
[] = SOUND_DEVICE_NAMES
;
18 afd
= open(card
, O_RDONLY
| O_NONBLOCK
);
20 warn("Cannot open %s", card
);
24 if (ioctl(afd
, SOUND_MIXER_READ_DEVMASK
, &devmask
) == -1) {
25 warn("Cannot get volume for %s", card
);
29 for (i
= 0; i
< LEN(vnames
); i
++) {
30 if (devmask
& (1 << i
) && !strcmp("vol", vnames
[i
])) {
31 if (ioctl(afd
, MIXER_READ(i
), &v
) == -1) {
32 warn("vol_perc: ioctl");
41 return bprintf("%d", v
& 0xff);