1

Я использую ffplay для воспроизведения аудиофайла в скрипте bash, и мне нужно увеличить громкость. Я нашел две независимые команды, которые обращаются к некоторой части цепочки, влияющей на громкость:

Это приводит меня примерно на полпути:

pactl set-sink-volume alsa_output.pci-0000_00_14.2.analog-stereo 200%

Добавление таких опций -af "volume=1250" в командную строку ffplay не оказало заметного влияния.

Также pacmd set-source-volume I 65536 I имеет значения 0, 1 или 2.

Мне нужен эквивалент 2-го ползунка на вкладке воспроизведения в pavucontrol, чуть выше стрелки на этом рисунке:

Конечно, было бы неплохо, если бы была одна команда для максимального увеличения громкости, и мне не нужно было их складывать, но, возможно, этого не существует. Но наверняка этот слайдер имеет сценарий эквивалентный.

2 ответа2

3

Я понимаю, что ваш вопрос звучит так: «Как установить эквивалент ползунка громкости потока приложения на вкладке« Воспроизведение »в pavucontrol ».

Общая громкость зависит как от громкости потока приложения, так и от громкости приемника, и последний, как правило, должен оставаться постоянным на уровне 100% (или любое другое значение, необходимое для максимального усиления усилителей звуковой карты, управляемых ALSA).

Посмотрите на pacmd list-sink-inputs . Это покажет все воспроизводимые в данный момент потоки. Используйте это, чтобы найти индекс потока, которым вы хотите управлять. Уменьшенный вывод как из pacmd list-sink-inputs | egrep '(index)|(name)' легче читать или анализировать, если есть много потоков.

Как только вы найдете индекс, используйте

pactl set-sink-input-volume index_you_found '100%'

установить громкость на 100%. Это также работает с pacmd , но только с необработанными значениями, а не с абсолютными или относительными процентами, поэтому я предпочитаю pactl . (Не спрашивайте меня, почему есть два разных инструмента ...).

Догадываясь, индексы не сработают. Использование set-source-volume не будет работать, потому что это устанавливает громкость аудиовходов.

Вы не можете установить громкость потока, который не воспроизводится. При настройке Pulseaudio по умолчанию в большинстве дистрибутивов тома потоков будут сохраняться для каждого приложения (с использованием имени приложения) и восстанавливаться в следующий раз при запуске приложения. Поэтому, если вы не используете разные имена приложений, вам придется устанавливать громкость только один раз (и вы можете сделать это прямо в pavucontrol).

0

«Я понимаю, что ваш вопрос таков:« Как установить эквивалент ползунка громкости потока приложения на вкладке "Воспроизведение" в pavucontrol ».»

Да. Это кусок. Все остальное - контекст, если вопрос основан на ошибочных предположениях или кто-то хочет предложить лучший путь.

"Взгляните на pacmd list-раковины-входы".

"Неизвестная команда" Но немного возни в Snynaptic, и я обнаружил, что это часть Pulseaudio-Utils, которую я имею, и еще немного возился, и я попробовал это: pacmd list-sink-input Выглядело правильно. Кроме того: pacmd list-sink-input | grep index только что возвратил одну строку, поэтому должен быть верным. Затем, в соответствии с инструкциями: pactl set-sink-input-volume 1 '100%' Oh my. Это громко.

Интересно, что каждый раз, когда я запускаю ffplayer, он получает разные индексы, даже если это единственный воспроизводимый аудиопоток, поэтому мне придется выполнить grep и немного поработать со строками, чтобы вставить это в мой скрипт, но это не должно быть любая проблема.

Спасибо, Диркт.

Кстати, я не знаю, откуда у меня сложилось впечатление, что команда:

pactl set-sink-volume alsa_output.pci-0000_00_14.2.аналоговый стерео 200%

максимально на 200%. Это идет выше. Хотя они говорят мне, что это может повредить динамики, если вы нажмете. Я предполагаю, что идея состоит в том, что если вы не установите это значение выше 100%, вы можете безопасно нажать

pactl set-sink-input-volume I 'N%'

(что также не максимально на 100)

так высоко, как вы хотите, что не имеет большого смысла для меня, так что, возможно, это не так. Во всяком случае, теперь у меня есть 2 способа разбудить мертвых и изнашивать мои динамики.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .