Запись аудио к pulseaudio потоку / вход приемника и проигрывание от потока по требованию

Я использую кодек CS42888 для записи аудио от Входа Строки. Я считал Запись потока вывод программы с PulseAudio и получил некоторое представление к тому, чего я пытаюсь достигнуть. Однако у меня есть несколько проблем.

Проблема

Во-первых, единственный способ, которым я могу записать от устройства в настоящее время, следующие:

arecord -Dhw:cs42888audio -f S16_LE -r 48000 test.wav

Я могу играть с:

arecord -Dhw:cs42888audio test.wav

Я хотел бы представить следующее:

  • Запишите вход cs42888audio к pulseaudio потоку (под "радио-" именем)

Также:

  • Каждый раз, когда "радио-" поток доступен, я хотел бы сделать тот свой поток по умолчанию и направить его к выводу cs42888.

Или:

  • Всегда записывайте к "радио-" потоку на фоне. Играйте/передавайте его потоком при необходимости с рядом команд.

Что я попробовал

pactl list sink-inputs                         # Gives nothing
pactl load-module module-null-sink sink_name=radio
pactl move-sink-input 3 radio                  # Fails
parec --format=s16le --rate=48000 -d alsa_output.platform-sound-cs42888.analog-surround-51.monitor | lame -r --quiet -q 3 --lowpass 17 --abr 192 - "temp.mp3"
aplay -Dhw:cs42888audio temp.mp3               # No audio other than noise

Звуковая конфигурация

Мой .asoundrc следующие:

pcm.!default {
    type hw
    card 2
    device 0
}

Мой/etc/pulse/system.pa имеет:

set-default-source alsa_input.platform-sound.analog-mono
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
1   alsa_output.platform-sound-cs42888.analog-surround-51   module-alsa-card.c  s16le 6ch 48000Hz   SUSPENDED
2   alsa_output.platform-sound.analog-mono  module-alsa-card.c  s16le 1ch 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
2   alsa_output.platform-sound-cs42888.analog-surround-51.monitor   module-alsa-card.c  s16le 6ch 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

Руководство является ценившим greately.Спасибо.

1
задан 25 December 2018 в 12:19

1 ответ

Решенный это!

pactl load-module module-loopback source=alsa_input.platform-sound-cs42888.analog-mono sink=alsa_output.platform-sound-cs42888.analog-surround-51 rate=48000

Однако pactl unload-module module-loopback не работает эффективно, ожидает в течение нескольких секунд. Было бы хорошо, если я мог бы разгрузить его немедленно.

2
ответ дан 7 December 2019 в 13:19

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

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