Запись в импульсный аудиопоток и управление переключением между потоками - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь настроить конфигурации звуковой карты вместе с pulseaudio, но я не уверен, как именно выполняется конфигурация alsa.

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

pacmd set-default-source alsa_input.platform-sound.analog-mono
pacmd set-default-sink alsa_output.platform-sound.analog-mono

Теперь я собираюсь использовать еще одну звуковую карту, поэтому aplay -l дает:

**** List of PLAYBACK Hardware Devices ****
card 0: cs42888audio [cs42888-audio], device 0: HiFi cs42888-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: wm8960audio [wm8960-audio], device 0: HiFi wm8960-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: wm8960audio [wm8960-audio], device 1: HiFi-ASRC-FE (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: amixaudiosai [amix-audio-sai], device 0: HiFi-AMIX-FE (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: amixaudiosai [amix-audio-sai], device 1: HiFi-AMIX-FE (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

arecord -l дает:

**** List of CAPTURE Hardware Devices ****
card 0: cs42888audio [cs42888-audio], device 0: HiFi cs42888-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: wm8960audio [wm8960-audio], device 0: HiFi wm8960-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: wm8960audio [wm8960-audio], device 1: HiFi-ASRC-FE (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: amixaudiosai [amix-audio-sai], device 0: HiFi-AMIX-FE (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

короткие списки pactl-списка

0   alsa_output.platform-sound-amix-sai.analog-mono module-alsa-card.c  s16le 1ch 48000Hz   SUSPENDED
2   alsa_output.platform-sound.analog-mono  module-alsa-card.c  s16le 1ch 48000Hz   SUSPENDED
4   alsa_output.platform-sound-cs42888.analog-surround-51   module-alsa-card.c  s16le 6ch 48000Hz   SUSPENDED
5   my_stream   module-null-sink.c  s16le 2ch 48000Hz   SUSPENDED

короткие источники списка pactl

0   alsa_output.platform-sound-amix-sai.analog-mono.monitor module-alsa-card.c  s16le 1ch 48000Hz   SUSPENDED
1   alsa_input.platform-sound-amix-sai.analog-mono  module-alsa-card.c  s16le 1ch 48000Hz   SUSPENDED
3   alsa_input.platform-sound-cs42888.analog-mono   module-alsa-card.c  s16le 1ch 48000Hz   SUSPENDED
4   alsa_output.platform-sound.analog-mono.monitor  module-alsa-card.c  s16le 1ch 48000Hz   SUSPENDED
5   alsa_input.platform-sound.analog-mono   module-alsa-card.c  s16le 1ch 48000Hz   SUSPENDED
7   alsa_output.platform-sound-cs42888.analog-surround-51.monitor   module-alsa-card.c  s16le 6ch 48000Hz   SUSPENDED
8   my_stream.monitor   module-null-sink.c  s16le 2ch 48000Hz   SUSPENDED

Я хотел бы использоватьCS42888 и настройте конфигурацию, такую ​​как:

alsa_input.platform-sound-cs42888.analog-mono (Radio)
(Rate 48000, S16_LE)
|
>    alsa_input.platform-sound.analog-mono (Microphone)
|          |
|          >    alsa_input.a2dp_source (Bluetooth Audio, if available)
|          |         |
|          |         |   
|          |         |      System sounds
|          |         |            |
|          |         |            >
|          |         |            |
|          |         >            |
|          |         |            |
-----------switching stream--------
     |
     |
     >
     |
     |
alsa_output.platform-sound-cs42888.analog-mono
(Rate 48000, S16_LE)
(profile: output:analog-mono+input:analog-mono)

Другими словами, я хотел бы получить радио-вход и иметь возможность передавать его поверх системных звуков, когда это необходимо.Кроме того, я хотел бы добиться этого в pulseaudio, поскольку управление звуком и другими устройствами через bluetooth осуществляется с помощью pulseaudio (module-bluez5-device).

Я могу получить запись и воспроизведение радиовхода следующим образом:

arecord -Dplug:hw:cs42888audio -f S16_LE -r 48000 test.wav
aplay -Dplug:hw:cs42888audio -f S16_LE test.wav

Как настроить такую ​​конфигурацию с помощью pulseaudio?Я хотел бы записать в поток, а затем управлять переключением между потоками.Заранее спасибо.

...