Я хочу использовать свой USB-микрофон в голосовых чатах (Discord, teampeak, skype и т. Д.)
Но я также хочу время от времени включать звук другого приложения, например Воспроизведение на YouTube в firefox
Поэтому, когда я нажимаю на кнопку «Говори», должен передаваться не только мой голос, но и звук моих приложений.
Концептуально я решил создать два виртуальных приемника:
pactl load-module module-null-sink sink_name="combined_input" sink_properties=device.description="combined_input"
pactl load-module module-null-sink sink_name="record_as_input" sink_properties=device.description="record_as_input"
Чтобы я все еще мог слышать звук:
pactl load-module module-loopback source=record_as_input.monitor sink=alsa_output.pci-0000_00_1f.3.analog-stereo
Направить записанные приложения на комбинированный приемник:
pactl load-module module-loopback source=record_as_input.monitor sink=combined_input
Направить микрофон на комбинированный приемник:
pactl load-module module-loopback source=alsa_input.usb-AKM_AK5370-00.mono-fallback sink=combined_input
Измените источник по умолчанию, чтобы такие программы, как Discord, могли использовать устройство ввода по умолчанию:
pacmd set-default-source combined_input.monitor
Вы можете найти свои источники и приемники с помощью:
pactl list short sources
pactl list short sinks
Теперь вам нужно направить звук с помощью pavucontrol следующим образом:
Loopback from Monitor of record_as_input -> Your main output/speakers
Loopback from Monitor of record_as_input -> combined_input
Loopback from AK5370 I/F A/D Mono (your microphone) -> combined_input
Firefox (or any other app) -> record_as_input
Если вы больше не нужно приложение, которое будет смешано с вашим входом по умолчанию, а затем измените его обратно на ваш основной выход/динамики.
Чтобы сделать настройки постоянными, я добавил приведенные выше команды (без pactl/pacmd) в конец /etc/pulse/default.pa