Я пытаюсь быстро переключаться между аудиовыходом наушников и динамиков. Оба подключены к моей материнской плате, которая имеет Линейный выход
и Оптический аудиовыход
линия. В идеале я хотел бы сделать это с помощью двух команд, чтобы я мог добавить их как макросы/горячие клавиши.
- Динамики -> Оптическое аудио
- Наушники -> Линейный выход
Я могу выполнить переключение с динамиков на наушники с помощью Настройки > Звук > Выход
меню, где он успешно перечисляет 4 аудио опции, которые я подключил, две другие из которых являются соединениями DP/HDMI через графическую карту. Если я сейчас попытаюсь переключиться обратно на динамики из наушников, звук не будет выводиться. У меня есть «обходной путь», когда я приостанавливаю все аудио, переключаюсь на один из выходов видеокарты, жду 5 секунд, переключаюсь на динамики, жду 5 секунд, затем играю музыку, и это до сих пор надежно устранило проблему.
Я пытался использовать договор
изменить выходы, которые, как я думал, будут тонет
, но у меня есть только две раковины:
➢ ~ Список пактов сокращается
55 alsa_output.pci-0000_2d_00.4.iec958-stereo PipeWire s32le 2ch 48000Hz РАБОТАЕТ
52 alsa_output.pci-0000_2b_00.1.hdmi-stereo-extra1 PipeWire s16le 2ch 48000Hz SUSPENDED
Это шоу во время прослушивания звука на динамиках. Ниже приведено прослушивание звука в наушниках.
➢ ~ Список пактов сокращается
52 alsa_output.pci-0000_2b_00.1.hdmi-stereo-extra1 PipeWire s16le 2ch 48000Hz SUSPENDED
55 alsa_output.pci-0000_2d_00.4.analog-stereo PipeWire s32le 2ch 48000Hz РАБОТАЕТ
я предполагаю эти тонет
соответствуют звуковой карте материнской платы и выходу графического процессора. В этом случае я ожидаю, что изменение порт устройства
будет команда, которую я ищу.
â ~ pactl set-sink-port alsa_output.pci-0000_2d_00.4.iec958-stereo аналог-стерео
Неудача: нет такой сущности
Я совершенно запутался в том, как заставить это работать. Любая помощь приветствуется.
Ниже приведена некоторая информация, которая, я считаю, будет важной.
ОС: Убунту 21.10
Ниже приведен вывод информация о договоре
с моим удаленным именем пользователя:
Строка сервера: /run/user/1000/pulse/native
Версия протокола библиотеки: 35
Версия протокола сервера: 35
Является локальным: да
Индекс клиента: 68
Размер плитки: 65472
Имя пользователя: {ПОЛЬЗОВАТЕЛЬ}
Имя хоста: убунту
Имя сервера: PulseAudio (на PipeWire 0.3.38)
Версия сервера: 15.0.0
Спецификация образца по умолчанию: float32le 2ch 48000Hz
Карта каналов по умолчанию: передний левый, передний правый
Приемник по умолчанию: alsa_output.pci-0000_2d_00.4.iec958-stereo
Источник по умолчанию: alsa_input.usb-Sonix_Technology_Co.__Ltd._USB_2.0_Camera_SN0001-02.analog-stereo
Куки: bf70:5e64
РЕДАКТИРОВАТЬ
Учитывая ответ и комментарии @kanehekili, кажется, я хочу установить сливной порт
. Способ сделать это - использовать pactl set-sink-port {SINK_NAME} {PORT_NAME}
однако мой порт не существует в соответствии с приемники списка пактов
:
➢ ~ список пактов
Раковина №47
Состояние: РАБОТАЕТ
Имя: alsa_output.pci-0000_2d_00.4.iec958-stereo
Описание: Цифровой стереоконтроллер Starship/Matisse HD Audio (IEC958)
Драйвер: PipeWire
Пример спецификации: s32le 2ch 48000Hz
Карта каналов: передний левый, передний правый
Модуль владельца: 4294967295
Отключение звука: нет
Громкость: передний левый: 28524/44%/-21,68 дБ, передний правый: 28524/44%/-21,68 дБ
баланс 0.00
Базовая громкость: 65536/100%/0,00 дБ
Источник монитора: alsa_output.pci-0000_2d_00.4.iec958-stereo.monitor
Задержка: 0 мкс, настроено 0 мкс
Флаги: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY SET_FORMATS
Характеристики:
object.path = "alsa:pcm:1:iec958:1:воспроизведение"
api.alsa.path = "iec958:1"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "воспроизведение"
аудио.каналы = "2"
audio.position = "FL,FR"
устройство.маршруты = "1"
alsa.resolution_bits = "16"
устройство.api = "алса"
устройство.класс = "звук"
alsa.class = "общий"
alsa.subclass = "универсальный микс"
alsa.name = "Цифровой ALCS1200A"
alsa.id = "Цифровой ALCS1200A"
алса.подустройство = "0"
alsa.subdevice_name = "подустройство #0"
алса.устройство = "1"
алса.карта = "1"
alsa.card_name = "Универсальный HD-аудио"
alsa.long_card_name = "HD-Audio Generic на 0xfc400000 irq 80"
alsa.driver_name = "snd_hda_intel"
device.profile.name = "iec958-стерео"
device.profile.description = "Цифровое стерео (IEC958)"
карта.профиль.устройство = "11"
устройство.id = "41"
factory.name = "api.alsa.pcm.sink"
приоритет.драйвер = "672"
приоритет.сессия = "672"
media.class = "Аудио/Раковина"
node.nick = "Универсальный HD-аудио"
node.name = "alsa_output.pci-0000_2d_00.4.iec958-стерео"
device.description = "Цифровой стереоконтроллер Starship/Matisse HD Audio (IEC958)"
device.icon_name = "аудио-карта-iec958"
устройство.шина = "PCI"
device.bus_path = "PCI-0000:2d:00.4"
node.pause-on-idle = «ложь»
factory.id = "18"
клиент.id = "32"
узел.драйвер = "истина"
factory.mode = "объединить"
audio.adapt.follower = ""
library.name = "аудиоконвертировать/libspa-аудиоконвертировать"
объект.id = "47"
node.max-латентность = "8192/48000"
Порты:
iec958-стерео-выход: цифровой выход (S/PDIF) (тип: SPDIF, приоритет: 0, доступность неизвестна)
Активный порт: iec958-стерео-выход
Форматы:
ПКМ
Когда я пытаюсь переключить порты приемника, я встречаю ошибку
â ~ pactl set-sink-port alsa_output.pci-0000_2d_00.4.iec958-stereo аналог-стерео
Неудача: нет такой сущности
Вышеописанное происходит даже при использовании числового идентификатора для приемника. Похоже, что порт, который я ищу, не существует, однако я могу изменить порт, используя меню «Настройки», о котором я упоминал выше, и запустив тот же приемники списка пактов
изменяет порты, чтобы мой iec958-стерео
порт больше не существует:
➢ ~ список пактов
Раковина №47
Состояние: РАБОТАЕТ
Имя: alsa_output.pci-0000_2d_00.4.аналог-стерео
Описание: Starship/Matisse HD Audio Controller Analog Stereo
Драйвер: PipeWire
Пример спецификации: s32le 2ch 48000Hz
Карта каналов: передний левый, передний правый
Модуль владельца: 4294967295
Отключение звука: нет
Громкость: передний левый: 31249/48%/-19,30 дБ, передний правый: 31249/48%/-19,30 дБ
баланс 0.00
Базовая громкость: 65536/100%/0,00 дБ
Источник монитора: alsa_output.pci-0000_2d_00.4.analog-stereo.monitor
Задержка: 0 мкс, настроено 0 мкс
Флаги: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Характеристики:
object.path = "alsa:pcm:1:front:1:playback"
api.alsa.path = "спереди:1"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "воспроизведение"
аудио.каналы = "2"
audio.position = "FL,FR"
устройство.маршруты = "2"
alsa.resolution_bits = "16"
устройство.api = "алса"
устройство.класс = "звук"
alsa.class = "общий"
alsa.subclass = "универсальный микс"
alsa.name = "Аналог ALCS1200A"
alsa.id = "Аналог ALCS1200A"
алса.подустройство = "0"
alsa.subdevice_name = "подустройство #0"
алса.устройство = "0"
алса.карта = "1"
alsa.card_name = "Универсальный HD-аудио"
alsa.long_card_name = "HD-Audio Generic на 0xfc400000 irq 80"
alsa.driver_name = "snd_hda_intel"
device.profile.name = "аналоговый-стерео"
device.profile.description = "Аналоговое стерео"
карта.профиль.устройство = "5"
устройство.id = "41"
factory.name = "api.alsa.pcm.sink"
приоритет.драйвер = "689"
приоритет.сессия = "689"
media.class = "Аудио/Раковина"
node.nick = "Универсальный HD-аудио"
node.name = "alsa_output.pci-0000_2d_00.4.аналог-стерео"
device.description = "Аналоговый стереофонический аудиоконтроллер Starship/Matisse HD"
device.icon_name = "аналог аудиокарты"
устройство.шина = "PCI"
device.bus_path = "PCI-0000:2d:00.4"
node.pause-on-idle = «ложь»
factory.id = "18"
клиент.id = "32"
узел.драйвер = "истина"
factory.mode = "объединить"
audio.adapt.follower = ""
library.name = "аудиоконвертировать/libspa-аудиоконвертировать"
объект.id = "47"
node.max-латентность = "8192/48000"
Порты:
Analog-output-lineout: Line Out (тип: Line, приоритет: 9000, группа доступности: Legacy 4, доступно)
Analog-output-headphones: Наушники (тип: Наушники, приоритет: 9900, группа доступности: Legacy 5, недоступно)
Активный порт: аналоговый выход-линейный выход
Форматы:
ПКМ