LINUX.ORG.RU

MOC, pluseaudio и alsa

 , ,


0

2

Вот пользуюсь себе MOC'ом и в целом доволен. Однако, когда слушаю музыку, ставлю громкость примерно на 20-30%, что слишком тихо для просмотра видео и поэтому всё время приходится лезть в MOC или alsamixer, чтобы повысить громкость перед тем, как включить (точнее после, когда я понимаю, что громкость маленькая) видос. Получается, что moc изменяет канал master, можно ли сделать, чтобы он менял громкость только для музыки, которая в нём играет и не трогал всю остальную систему ?

★★★★★

Жмякая «x» можно перекдючиться на то, что тебе надо, «w» - включить/выключить.

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

Там есть только «Master» и «Soft». Меняя параметр «soft» я не могу понизить уровень громкости до нужного уровня.

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

попробуй так

pactl set-sink-input-volume `pactl list sink-inputs | grep -B 24 "application.process.binary = \"mocp\""| head -n1 |sed 's/[^0-9]*\([0-9]\+\)/\1/'` 123%

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

Спасибо. Так вроде норм. Как вообще эта команда работает, я не совсем понял ? Её нужно каждый раз перед/после стартом moc выполнять ?

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

Регулируй громкость с шифтом, на один пункт. И создай ~/.asoundrc

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

Это перенаправит алсаинпут в пшаудио и позволит регулировать его отдельно для каждого приложения.

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

Её нужно каждый раз перед/после стартом moc выполнять ?

нет, пульса все запоминает

#!/bin/bash
volume_new=$1
volume=`LC_ALL=C pactl list sink-inputs | grep -B 24 "application.process.binary = \"mocp\""| grep "Volume: 0:"| awk '{print $3}'|sed "s/\([0-9]\+\)%/\1/"`

if [[ $volume_new =~ ^[+-][0-9]+$ ]]
then
  let volume=volume$volume_new
elif [[ $volume_new =~ ^[0-9]+$ ]]
then
  volume=$volume_new
fi

pactl set-sink-input-volume `pactl list sink-inputs | grep -B 24 "application.process.binary = \"mocp\""| head -n1 |sed 's/[^0-9]*\([0-9]\+\)/\1/'` $volume%

echo mocp volume now is $volume%

сохраняй как mocp-volume в PATH и используешь

mocp-volume +10 # добавляем 10%
mocp-volume -10 # убираем 10%
mocp-volume 100 # ставим 100%

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

mocp-volume +10

При этом выводит результат: mocp volume now is 10% и звук перестаёт звучать вообще. С понижением громкости всё нормально

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