Я искал ответ на этот вопрос и не смог его найти. Я пытаюсь отключить / включить звук встроенных динамиков моего компьютера из командной строки, не затрагивая внешние динамики, подключенные к выходному разъему звуковой карты.
До сих пор я обнаружил, что эти команды включают / выключают звук из командной строки, но обе команды также включают / выключают звук внешних динамиков:
pactl set-sink-mute 1 0
amixer sset Speaker mute
Я запускаю Ubuntu 13.10 на dell optiplex 760 Pentium 4
Устройство приемника 0 является аудиовыходом HDMI видеокарты nVidia, но мне не нужен этот для этого сценария.
Похоже, что приемник 1 управляет как встроенными динамиками, так и внешними выходными динамиками. Я не могу найти способ различить оба. Есть идеи?
Если вам нужна дополнительная информация, которая поможет мне найти решение, пожалуйста, дайте мне знать.
От интерфейса командной строки pulseaudio можно перечислить все приемники (как в "местах, куда звуковой поток уходит") как это:
pactl list short sinks
0 alsa_output.pci-0000_02_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 alsa_output.pci-0000_00_1b.0.iec958-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING
Теперь, можно работать с отдельными приемниками и иметь все подробности.
Можно использовать полное имя приемника как arument:
`pactl set-sink-mute alsa_output.pci-0000_00_1b.0.iec958-stereo toggle`
Вы можете вместо длинного имени, использовать индекс, перечисленный перед именем (1
):
Переключите бесшумный режим, который является переключателем между звуком на и прочь:
pactl set-sink-mute 1 toggle
Включите бесшумный режим, который является звуковым прочь:
pactl set-sink-mute 1 1
Выключите бесшумный режим, который является звуковым на:
pactl set-sink-mute 1 0
Посмотрите pactl help
или man pactl
для большего количества опций.