LINUX.ORG.RU

pulse audio: 1) как узнать громкость; 2) как заблокировать повышение громкости выше 100% ?

 , ,


1

1

собсна имею АРЧ i3wm, соответственно пульсу.

интересует как средствами пульсы в терминале узнать громкость?

и еще как ограничить повышение громкости выше 100%?

★★

Ответ на: комментарий от kalterfive

мне нужно узнать текущую громкасть а не указать ее, указать то ее просто ентой командой и ана уже используется в биндах у меня

safocl ★★
() автор топика
Ответ на: комментарий от kalterfive

хочешь сказать чо тока енту инфу можно использовать для вывода текущей громкасти? тоесть надо грепать и кутать ентот вывод?

енто пичаль

safocl ★★
() автор топика
Ответ на: комментарий от safocl

тогда интересна, как всякие плагины узнают текущую громкость? не парсят же они, тем более как они будут парсить при разных локалях?

откуда то они из другого места берут инфу...

safocl ★★
() автор топика
Ответ на: комментарий от safocl

Из заголовочных файлов pulse/* . Ну ты же не пишешь скрипт для своей панельки на C/C++.

kalterfive ★★
()

А вообще да – если работа скрипта синхронно‐последовательна, то парсить вывод всего и вся – плохая идея.

kalterfive ★★
()

awk -F"[][]" '/dB/ { print $2 }' <(amixer sget Master)

Если такой способ не пойдет, то откопаю другой вариант. Этот не проверял, ибо перестал использовать pulseaudio, а в моей звуковой карте совсем всё не так как в pulse Master, но этот вариант должен работать.

xndr
()
$ ~ amixer -c U5 get "Speaker"                                                     
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right - Rear Left - Rear Right - Front Center - Woofer
  Limits: Playback 0 - 55
  Mono:
  Front Left: Playback 45 [82%] [-10.00dB] [on]
  Front Right: Playback 45 [82%] [-10.00dB] [on]
  Rear Left: Playback 45 [82%] [-10.00dB] [on]
  Rear Right: Playback 45 [82%] [-10.00dB] [on]
  Front Center: Playback 45 [82%] [-10.00dB] [on]
  Woofer: Playback 45 [82%] [-10.00dB] [on]
$ ~ amixer -c U5 get "Speaker" | grep "Front Left:" | awk '{print $5}' | tr -d '[]'
82%

Ранее использовал это. Без pulseaudio.

xndr
()
Ответ на: комментарий от safocl

а по второму вопросу ваще есть чо нить у кого нить???

safocl ★★
() автор топика
Ответ на: комментарий от safocl

так енто же для альсы миксер...

А вам что надо то? Узнать громкость какого-то устройства или какого-то стрима? Есди громкость устройства, то чем amixer|grep|awk не нравится?

а по второму вопросу ваще есть чо нить у кого нить???

Насколько я знаю, если делать вот так: amixer set "Master" 1+, то звук выше 100% не уходит.

xndr
()

громакасти
ентот

жесть какая

по сабжу

amixer get Master | grep 'Playback' | grep -o '...%' | sed 's/\[//' | sed 's/%//' | sed 's/ //'| awk '{print $1; exit}' 

Dred ★★★★★
()
Ответ на: комментарий от safocl

мой пакетный менеджер умеет в поиск. К тому же у меня скрипты повешены на горячие клавиши, которые меняют громкость как раз через pamixer. А текущий уровень громкости я выдергивал так:

amixer sget Master | tail -n1 | awk '{if ($6 == "[on]") print " " $5 ; else print ""}'

Кроме того pamixer не задирает громкость выше 100%

feofan ★★★★★
()
Последнее исправление: feofan (всего исправлений: 1)
Ответ на: комментарий от safocl

удобнее - результат одной команды и громкость и состояние мута.

feofan ★★★★★
()

интересует как средствами пульсы в терминале узнать громкость?

В i3 можно на панель вынести, вот..

А потом из терминала будешь регулировать.

orionit
()
Ответ на: комментарий от Dred

В условиях дёргания скрипта каждую секунду (или даже пять) количество вызовов лишних программ надо минимизировать.

amixer get Master \
	| sed -r 's/^.+\[([0-9]{1,3})%\].+/\1/' \
	| tail -1

// и awk/perl тоже не использовать; и нет, это не такая уж и экономия на спичках.

kalterfive ★★
()
Последнее исправление: kalterfive (всего исправлений: 2)

удали пыш-пыш и не мучайся

anonymous
()
Ответ на: комментарий от orionit

так мне именно надо чо бы в терминале команда работала, чо бы в терминале выводила цыферку громкасти, хочу скрипт просто привязать к бинду, чо бы выше 100% не повышалась, вот мне для чего.

safocl ★★
() автор топика
Ответ на: комментарий от mad_austronaut

епрст, именно прекрасная команда... выводит чо надо... надо мне чото прочесть по поводу парсинга вывода, чо бы народ так не баламутить)))

еще вопрос, ента команда не будет сильно жрать ресурсы если она будет выполняться каждые 1 сек?

а то как правильно сказал kalterfive «В условиях дёргания скрипта каждую секунду (или даже пять) количество вызовов лишних программ надо минимизировать. // и awk/perl тоже не использовать;»

safocl ★★
() автор топика
Ответ на: комментарий от safocl

в принцыпе, чото я установил pamixer, и там ента команда «pamixer --get-volume»

safocl ★★
() автор топика
Ответ на: комментарий от mad_austronaut

да мне и 8гигов хватает пака чо... и поч сразу 478?

safocl ★★
() автор топика

поставь ponymix, но грепать вывод pacmd всё равно быстрее выходит, я проверял.

anonymous
()
Ответ на: комментарий от anonymous

зачем??? я ж написал чо «pamixer --get-volume» выводит число... одна команда без парсингов всяких.

safocl ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.