Как я могу форсировать повторное обнаружение виртуальных звуковых устройств PulseAudio?

Чтобы установить автономную 32-битную версию Firefox рядом со стандартной 64-битной версией Firefox по умолчанию и использовать автономный 32-битный Java-плагин, проверьте ответ Fholst на этот другой вопрос.

8
задан 25 June 2012 в 11:00

39 ответов

Вы можете попробовать pulseaudio -k, который убивает службу pulseaudio (кажется, она запускается снова автоматически). Раньше это возвращало мне вещи.

Другая вещь, которая иногда помогает, снимает галочки и затем снова ставит флажки в Pulseaudio Preferences (a.k.a. paprefs). Флажки Make discoverable PulseAudio network sound devices available locally в Network Access и Enable network access to local sound devices в Network Server. Очевидно, это работает только для того, что вы используете.

1
ответ дан 7 August 2018 в 18:16
  1. На компьютере «Sink» (на котором вы хотите воспроизводить звук) откройте командную оболочку PulseAudio, войдя в терминал и выполнив следующую команду. $ pacmd Вы увидите Python-подобную оболочку со следующим приветственным сообщением. Welcome to PulseAudio! Use "help" for usage information. >>>
  2. Перечислите устройства, которые могут воспроизводить звук на ПК, по команде в оболочке PulseAudio. >>> list-sinks Теперь вы увидите подробный список всех приемников звука.
  3. Просто запишите полное название выбранного вами приемника. Это появилось бы как атрибут звуковой карты. Например, в моем случае это: 1 sink(s) available. index: 0 name: <alsa_output.pci-0000_00_1b.0.analog-stereo> ...

Интересующая меня строка просто "alsa_output.pci-0000_00_1b.0.analog-stereo"

  1. Теперь перейдите на исходный ПК (т. е. источник аудиопотока мультимедиа), откройте терминал и выполните следующую команду $ pactl load-module module-tunnel-sink "server=192.168.1.105 sink=alsa_output.pci-0000_00_1b.0.analog-stereo sink_name=home_theater" Здесь 192.168.1.105 - IP-адрес компьютера-получателя, «alsa_output.pci». -0000_00_1b.0.analog-stereo "- это строка, которую вы только что скопировали из терминала приемника, а" home_theater "- это просто причудливое имя для вызова этого виртуального устройства вывода звука на вашем компьютере.
  2. Наконец выберите этот виртуальный звук устройство от: $ pacmd set-default-sink home_theater Wallah !!
5
ответ дан 7 August 2018 в 18:16

Этот ответ не проверен, поэтому он может не сработать, но может привести вас в правильном направлении.

Я могу подтвердить нерешенные проблемы со службой Avahi , которая иногда не может подключиться к серверу PulseAudio. Мы можем успешно восстановить соединение, либо перезапустив сеть, либо сервер pulseaudio, но, увы, это не всегда работает.

Чтобы преодолеть эту проблему, мы можем попытаться установить сетевой аудиопоток, используя собственный протокол TCP для прямой потоковой передачи. к IP, а не с использованием разрешения имен Avahi.

Для этого мы можем туннелировать удаленный приемник, загрузив module-tunnel-sink на стороне получателя. В отправителе мы должны включить собственный протокол TCP, загрузив module-native-protocol-tcp .

См. Также этот вопрос для терминологии и определения переменной PULSE_SERVER. :

Как автоматически установить стандартный приемник PulseAudio на удаленный сервер при загрузке - Ubuntu 9.04

Это довольно старый вопрос для Ubuntu 9.04, но, к моему знанию терминология и процедуры с тех пор не сильно изменились.

Пожалуйста, также следуйте PulseAudio Wiki по сетевым подключениям .

3
ответ дан 7 August 2018 в 18:16
  1. На компьютере «Sink» (на котором вы хотите воспроизводить звук) откройте командную оболочку PulseAudio, войдя в терминал и выполнив следующую команду. $ pacmd Вы увидите Python-подобную оболочку со следующим приветственным сообщением. Welcome to PulseAudio! Use "help" for usage information. >>>
  2. Перечислите устройства, которые могут воспроизводить звук на ПК, по команде в оболочке PulseAudio. >>> list-sinks Теперь вы увидите подробный список всех приемников звука.
  3. Просто запишите полное название выбранного вами приемника. Это появилось бы как атрибут звуковой карты. Например, в моем случае это: 1 sink(s) available. index: 0 name: <alsa_output.pci-0000_00_1b.0.analog-stereo> ...

Интересующая меня строка просто "alsa_output.pci-0000_00_1b.0.analog-stereo"

  1. Теперь перейдите на исходный ПК (т. е. источник аудиопотока мультимедиа), откройте терминал и выполните следующую команду $ pactl load-module module-tunnel-sink "server=192.168.1.105 sink=alsa_output.pci-0000_00_1b.0.analog-stereo sink_name=home_theater" Здесь 192.168.1.105 - IP-адрес компьютера-получателя, «alsa_output.pci». -0000_00_1b.0.analog-stereo "- это строка, которую вы только что скопировали из терминала приемника, а" home_theater "- это просто причудливое имя для вызова этого виртуального устройства вывода звука на вашем компьютере.
  2. Наконец выберите этот виртуальный звук устройство от: $ pacmd set-default-sink home_theater Wallah !!
5
ответ дан 10 August 2018 в 07:01

Вы можете попробовать pulseaudio -k, который убивает службу pulseaudio (кажется, она запускается снова автоматически). Раньше это возвращало мне вещи.

Другая вещь, которая иногда помогает, снимает галочки и затем снова ставит флажки в Pulseaudio Preferences (a.k.a. paprefs). Флажки Make discoverable PulseAudio network sound devices available locally в Network Access и Enable network access to local sound devices в Network Server. Очевидно, это работает только для того, что вы используете.

1
ответ дан 10 August 2018 в 07:01

Этот ответ не проверен, поэтому он может не сработать, но может привести вас в правильном направлении.

Я могу подтвердить нерешенные проблемы со службой Avahi , которая иногда не может подключиться к серверу PulseAudio. Мы можем успешно восстановить соединение, либо перезапустив сеть, либо сервер pulseaudio, но, увы, это не всегда работает.

Чтобы преодолеть эту проблему, мы можем попытаться установить сетевой аудиопоток, используя собственный протокол TCP для прямой потоковой передачи. к IP, а не с использованием разрешения имен Avahi.

Для этого мы можем туннелировать удаленный приемник, загрузив module-tunnel-sink на стороне получателя. В отправителе мы должны включить собственный протокол TCP, загрузив module-native-protocol-tcp .

См. Также этот вопрос для терминологии и определения переменной PULSE_SERVER. :

Как автоматически установить стандартный приемник PulseAudio на удаленный сервер при загрузке - Ubuntu 9.04

Это довольно старый вопрос для Ubuntu 9.04, но, к моему знанию терминология и процедуры с тех пор не сильно изменились.

Пожалуйста, также следуйте PulseAudio Wiki по сетевым подключениям .

3
ответ дан 10 August 2018 в 07:01
  1. На компьютере «Sink» (на котором вы хотите воспроизводить звук) откройте командную оболочку PulseAudio, войдя в терминал и выполнив следующую команду. $ pacmd Вы увидите Python-подобную оболочку со следующим приветственным сообщением. Welcome to PulseAudio! Use "help" for usage information. >>>
  2. Перечислите устройства, которые могут воспроизводить звук на ПК, по команде в оболочке PulseAudio. >>> list-sinks Теперь вы увидите подробный список всех приемников звука.
  3. Просто запишите полное название выбранного вами приемника. Это появилось бы как атрибут звуковой карты. Например, в моем случае это: 1 sink(s) available. index: 0 name: <alsa_output.pci-0000_00_1b.0.analog-stereo> ...

Интересующая меня строка просто "alsa_output.pci-0000_00_1b.0.analog-stereo"

  1. Теперь перейдите на исходный ПК (т. е. источник аудиопотока мультимедиа), откройте терминал и выполните следующую команду $ pactl load-module module-tunnel-sink "server=192.168.1.105 sink=alsa_output.pci-0000_00_1b.0.analog-stereo sink_name=home_theater" Здесь 192.168.1.105 - IP-адрес компьютера-получателя, «alsa_output.pci». -0000_00_1b.0.analog-stereo "- это строка, которую вы только что скопировали из терминала приемника, а" home_theater "- это просто причудливое имя для вызова этого виртуального устройства вывода звука на вашем компьютере.
  2. Наконец выберите этот виртуальный звук устройство от: $ pacmd set-default-sink home_theater Wallah !!
5
ответ дан 15 August 2018 в 18:59
  • 1
    Работал для меня - работает и с новым модулем туннельного приемника и только с IP-адресом хоста приемника, без необходимости указывать точный приемник (я использую только один на этом Raspberry Pi, подключенном к моей стереосистеме, так что нет необходимости): 'pactl модуль модуля загрузки туннеля - новый сервер = [2001: 470: ca90: 4: ba27: ebff: fee2: ada9] '- спасибо! – Jean-Marc Liotier 12 November 2015 в 04:07

Вы можете попробовать pulseaudio -k, который убивает службу pulseaudio (кажется, она запускается снова автоматически). Раньше это возвращало мне вещи.

Другая вещь, которая иногда помогает, снимает галочки и затем снова ставит флажки в Pulseaudio Preferences (a.k.a. paprefs). Флажки Make discoverable PulseAudio network sound devices available locally в Network Access и Enable network access to local sound devices в Network Server. Очевидно, это работает только для того, что вы используете.

1
ответ дан 15 August 2018 в 18:59

Этот ответ не проверен, поэтому он может не сработать, но может привести вас в правильном направлении.

Я могу подтвердить нерешенные проблемы со службой Avahi , которая иногда не может подключиться к серверу PulseAudio. Мы можем успешно восстановить соединение, либо перезапустив сеть, либо сервер pulseaudio, но, увы, это не всегда работает.

Чтобы преодолеть эту проблему, мы можем попытаться установить сетевой аудиопоток, используя собственный протокол TCP для прямой потоковой передачи. к IP, а не с использованием разрешения имен Avahi.

Для этого мы можем туннелировать удаленный приемник, загрузив module-tunnel-sink на стороне получателя. В отправителе мы должны включить собственный протокол TCP, загрузив module-native-protocol-tcp .

См. Также этот вопрос для терминологии и определения переменной PULSE_SERVER. :

Как автоматически установить стандартный приемник PulseAudio на удаленный сервер при загрузке - Ubuntu 9.04

Это довольно старый вопрос для Ubuntu 9.04, но, к моему знанию терминология и процедуры с тех пор не сильно изменились.

Пожалуйста, также следуйте PulseAudio Wiki по сетевым подключениям .

3
ответ дан 15 August 2018 в 18:59
  • 1
    Спасибо за одну ссылку. Решение в моем случае действительно работает и в моем случае: sudo service avahi-daemon restart Я не ожидал этого, потому что avahi-browse видит устройства еще до перезапуска, но я полагаю, что перезапуск инициирует повторный вызов, и это все, что нужно. – Christian 26 June 2012 в 12:06
  • 2
    @ Кристиан: хорошо, это помогло. Я отказался от Avahi в настоящее время. – Takkat 26 June 2012 в 12:09
  • 3
    Я не уверен, что понял ваше предложение. Могу ли я использовать разрешение имен DNS или я должен знать IP? Я бы предпочел не использовать фиксированные IP-адреса, хотя вы могли бы сказать, что в случае HTPC это нормально. – Christian 26 June 2012 в 12:09
  • 4
    Да, я могу понять почему. Я просто написал свой собственный ответ, потому что для людей, которые сталкиваются с этим вопросом из-за одной и той же проблемы, это кажется самым простым решением. – Christian 26 June 2012 в 12:11

Другие вопросы по тегам:

Похожие вопросы: