Sprawdzales komendy pactl ?
man pactl oraz
http://blog.chapagain.com.np/ubuntu-linux-increase-decrease-volume-from-command-line-keyboard-shortcut/
Edytwane
https://unix.stackexchange.com/questions/208784/command-line-per-application-volume-maybe-amixer-or-pactl/209047
Edytwane
Czytajac man pactl http://manpages.ubuntu.com/manpages/precise/man1/pactl.1.html ( w przegladarce lepiej widac )
Zobaczylem ze sa 4 opcje ze zmiana volume
set-sink-volume SINK VOLUME
...
set-source-volume SOURCE VOLUME
...
set-sink-input-volume INPUT VOLUME
...
set-source-output-volume OUTPUT VOLUME
i Kazda z nich jest lista czegos
$ pactl list x
Specify nothing, or one of: modules, sinks, sources, sink-inputs, source-outputs, clients, samples, cards
Przykladowo ja mam uruchomiony Firefox i w nim Youtube
Wiec szukam cos na temat Firefoxa
pactl list sink-inputs | grep firefox
application.process.binary = "firefox"
application.icon_name = "firefox"
No jest, to zobaczmy co jest w srodku.
Dwa wiersze sie mi wyróżniają
Sink Input #0
...
Sink Input #175
...
( Firefox jest pod wierszem Sink Input #175 )
No to sprobujmy
$ pactl set-sink-input-volume 175 100%
No i dziala , piosenka na Youtube gra na 100%, nastepna juz nie bedzie i zmieni sie jej numer "Sink Input".
Edytowane
$ pactl list sink-inputs | grep Volume
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
Volume: front-left: 52921 / 81% / -5.57 dB, front-right: 52921 / 81% / -5.57 dB
Z tego co zauwalem, to u mnie wartosc dzwieku w zaleznosci od utworu jest zmienna i nie wiem od czego ona zalezy.
Stworzenie skryptu nie jest problemem
Albo nie przeczytales do samego konca, albo jednak to dla Ciebie problem.
Edytowane
Poniewaz dla mnie problemem jest wygrepowanie "Sink" i "firefox" z pactl , wiec sprobowalem pacmd
$ pacmd list-sink-inputs | grep -i 'index\|volume\|firefox'
index: 0
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
index: 225
volume: front-left: 53227 / 81% / -5.42 dB, front-right: 53227 / 81% / -5.42 dB
application.process.binary = "firefox"
application.icon_name = "firefox"
index: 237
volume: front-left: 37190 / 57% / -14.76 dB, front-right: 37190 / 57% / -14.76 dB
application.process.binary = "firefox"
application.icon_name = "firefox"
I bym sie nie bawil tylko odrazu dla ostatniej wartosci przypisal dana wartosc dzwieku, w tym przypadku 50%
pactl set-sink-input-volume $(pacmd list-sink-inputs | grep 'index' | tail -1 | awk '{print $2}') 50%
Edytowane
O taki najprostszy skrypt.
#!/bin/bash
# Skrypt do ściszania reklam w Firefox-ie i każdego kolejnego otwartego okna lub odtwarzacza. ( w Firefoxie )
# Po prostu ścisza drugi i kolejny odtwarzacz w Firefoxie, oprócz pierwszego.
# Ten skrypt nie odróżnia co ścisza, należy to wziąć pod uwagę, lub dostosować skrypt o własnych potrzeb.
# Zbyt głośniej żony, dzieci oraz miauczącego za oknem kota skrypt niestety nie potrafi jeszcze ściszyć ;)
Funkcja_1(){
while :
do
LICZBA=$(pacmd list-sink-inputs | grep firefox | wc -l)
if [[ "$LICZBA" -gt "2" ]]; then
echo "LICZBA = $LICZBA"
pactl set-sink-input-volume $(pacmd list-sink-inputs | grep 'index' | tail -1 | awk '{print $2}') 50%
fi
echo " [Wcisnij CTRL+C by zatrzymac] "
sleep 4
done
}
/opt/firefox/firefox & Funkcja_1
Jezeli masz ochote ulepszyc skrypt to powodzenia. :)
I zgłoś problem developerom Pulse Audio
No bo przeciez to nie jest normalne ze jak czlowiek chce sobie posluchac reklamy,
albo gdy odtworzy 100 otwarzaczy naraz https://www.dobreprogramy.pl/Linux-jest-w-stanie-uruchomic-100-aplikacji-jednoczesnie.-Co-na-to-Windows,News,59019.html
To kazdy otwarzacz gra jak chce ...
Moj kolega przechodzac na Linuxa tez na to marudził i szukal aplikacji w ktorej moze ustawic dla kazdej aplikacji, bo w Windowsie sie da.
Ale zgłosić developerom Linuxa chyba nie zgłosił.
Moze robisz cos zle, u mnie dziala.
U mnie też ale dla np YouTube tak samo ja u Ciebie. Ale próbowałeś z player.pl? Włącz sobie player.pl uruchom np. kuchenne rewolucje :P ustaw sobie poziom głośności jaki chcesz i oglądaj aż włączą się reklamy, reklamy uruchamiają się w tym samym oknie, w tym samym odtwarzaczu, są po prostu integralną częścią programu. Sprawdź czy poziom głośności wszystkich reklam które będą lecieć będą tak samo głośne jak "kuchenne rewolucje". Sprawdź na słuch nie na pasku bo pasek zostanie na takim poziomie jakim go ustawiłeś. Po prostu tak jest przygotowana sama reklama żeby Cie wkur... głośnością :)
[Zagiewa@localhost ~]$ pacmd list-sink-inputs
1 sink input(s) available.
index: 14
driver: <protocol-native.c>
flags: START_CORKED
state: RUNNING
sink: 0 <alsa_output.pci-0000_00_1b.0.analog-stereo>
volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB
balance 0,00
muted: no
current latency: 55,33 ms
requested latency: 23,22 ms
sample spec: float32le 2 k 44100 Hz
channel map: front-left,front-right
Stereo
resample method: copy
module: 12
client: 24 <Chrome>
properties:
application.icon_name = "google-chrome"
media.name = "Playback"
application.name = "Chrome"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "32"
application.process.id = "4361"
application.process.user = "Zagiewa"
application.process.host = "localhost.localdomain"
application.process.binary = "chrome"
application.language = "pl_PL.utf8"
window.x11.display = ":0.0"
application.process.machine_id = "7b41b35af6a2427b8962ee4e3682e8be"
application.process.session_id = "2"
module-stream-restore.id = "sink-input-by-application-name:Chrome"
Obecnie jak widzisz mam ustawione na 100% ale to bez znaczenia bo zmieniając na wspomniane nawet 50% kuchenne rewolucje wtedy są też o 50% cichsze o czym wspominałem.