PulseAudio не использует приемник по умолчанию

export PS1='[\u@\h $(basename $(dirname ${PWD}))/$(basename ${PWD})]\$ '
export PROMPT_COMMAND='echo -ne "\033]0;$(basename $(dirname $PWD))/$(basename ${PWD})\007"'
0
15.06.2019, 08:03
1 ответ

Частичный ответ:

Pulseaudio хранит базу данных для всех приложений, к которым они были подключены, и при запуске восстанавливает это соединение вместо использования приемника по умолчанию. Приемник по умолчанию используется только для «новых» приложений.

Я не знаю, почему ваш move-sink-inputпровалился. Вы можете переместить его с помощью pavucontrol?

Редактировать

В репозитории MonoGame на github обнаружен код OpenAL. Поиск в Google «OpenAL pulseaudio» показывает, что по умолчанию для OpenAL запрещается перемещение приемников, но создается файл ~/.alsoftrcс содержимым

.
[pulse]

allow-moves = true

это позволяет. Я не проверял это на себе.

Редактировать

Что касается восстановления запомненного приемника при запуске, список параметров .alsoftrc не показывает ничего подходящего.

На стороне Pulseaudio модуль -поток -восстановление обрабатывает восстановление источников/приемников потока. Он сохраняет их в файле базы данных GDBM, чтобы вы могли просматривать эту базу данных с помощью инструментов GDBM. Насколько я знаю, имя приложения, данное Pulseaudio, используется (, но лучше перепроверьте ), но есть также сложная система с ролями, которые я не совсем понимаю.

Таким образом, потребуется отладить взаимодействие этого с OpenAL. :Возможно, OpenAL не определяет имя приложения;возможно, OpenAL переопределяет то, что делает восстановление модуля -потока -и просто выбирает приемник по умолчанию, возможно, что-то еще. Просмотр исходного кода OpenAL должен помочь.

Обходной путь, конечно, заключается в написании небольшого скрипта-оболочки, который запускает приложение OpenAL, а затем выполняет move-sink. Можно быстрее сделать.

2
28.01.2020, 02:40

Теги

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