Hello, here is an easy way to set media volume in custom steps (1-100%) but needs command line and audio needs to play:
e.g. add to ~/.profile
pa_set_vol() {
SINK_NO=$(LANG=C pactl list sink-inputs | grep "Sink Input #"|cut -d \# -f 2)
VOL_PER="$1"
pactl set-sink-input-volume $SINK_NO $VOL_PER%
}
works for speaker and e.g. bluetooth media volume, if you use volume slider old value for that percentage is used
e.g.
###### BT
[defaultuser@Fairphone4 ~]$ pa_set_vol 68
[defaultuser@Fairphone4 ~]$ LANG=C pactl list sink-inputs
Sink Input #751
....
Volume: front-left: 44564 / 68% / -10.05 dB, front-right: 44564 / 68% / -10.05 dB
...
[defaultuser@Fairphone4 ~]$ pa_set_vol 72
[defaultuser@Fairphone4 ~]$ LANG=C pactl list sink-inputs
Sink Input #751
...
Volume: front-left: 47185 / 72% / -8.56 dB, front-right: 47185 / 72% / -8.56 dB
balance 0.00
Buffer Latency: 160522 usec
Sink Latency: 49068 usec
Resample method: speex-fixed-2
Properties:
media.name = "Playback Stream"
application.name = "Media"
native-protocol.peer = "UNIX socket client"
...
###### speaker
[defaultuser@Fairphone4 ~]$ LANG=C pactl list sink-inputs
Sink Input #751
...
Format: pcm, format.sample_format = "\"s16le\"" format.channels = "2" format.rate = "48000" format.channel_map = "\"front-left,front-right\""
Corked: yes
Mute: no
Volume: front-left: 19289 / 29% / -31.87 dB, front-right: 19289 / 29% / -31.87 dB
...
[defaultuser@Fairphone4 ~]$ pa_set_vol 55
[defaultuser@Fairphone4 ~]$ pa_set_vol 29
####### BT again
[defaultuser@Fairphone4 ~]$ LANG=C pactl list sink-inputs
Sink Input #751
...
Volume: front-left: 47185 / 72% / -8.56 dB, front-right: 47185 / 72% / -8.56 dB
balance 0.00
Buffer Latency: 105479 usec
Sink Latency: 0 usec
...