В настоящее время я работаю над небольшим приложением, которое работает на cubieboard (ARMv7, rasp-pi-like).
Что мне действительно нужно сделать, так это получить доступ и записать линейный аудиосигнал из двух разных приложений.
Первый - это PyAudio, а второй - Darkice Media Streamer. Звуковая карта использует драйвер ядра sun4i-CODEC от разработчиков Cubieboard. Уровень аудио в настоящее время предоставляется ALSA Audio.
В настоящее время оба приложения записывают с hw:0,0 и они мешают друг другу. Поэтому, если я запускаю Darkice Client, у моего Python Script нет доступа и наоборот.
Ouput из моего arecord -L
:
null
Discard all samples (playback) or generate zero samples (capture)
default
sysdefault:CARD=sun4icodec
sun4i-CODEC, sun4i PCM
Default Audio Device
dmix:CARD=sun4icodec,DEV=0
sun4i-CODEC, sun4i PCM
Direct sample mixing device
dsnoop:CARD=sun4icodec,DEV=0
sun4i-CODEC, sun4i PCM
Direct sample snooping device
hw:CARD=sun4icodec,DEV=0
sun4i-CODEC, sun4i PCM
Direct hardware device without any conversions
plughw:CARD=sun4icodec,DEV=0
sun4i-CODEC, sun4i PCM
Hardware device with all software conversions
Это мой вывод amixer
:
imple mixer control 'Master',0
Capabilities: pvolume pvolume-joined penum
Playback channels: Mono
Limits: Playback 0 - 63
Mono: Playback 63 [100%]
Simple mixer control 'LineL',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'LineR',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Mic Input Mux',0
Capabilities: volume volume-joined penum
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 15
Mono: 15 [100%]
Simple mixer control 'MicL',0
Capabilities: volume volume-joined penum
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 3
Mono: 1 [33%]
Simple mixer control 'MicR',0
Capabilities: volume volume-joined penum
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 3
Mono: 3 [100%]
Simple mixer control 'Playback',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Capture',0
Capabilities: cvolume cvolume-joined penum
Capture channels: Mono
Limits: Capture 0 - 7
Mono: Capture 7 [100%]
Simple mixer control 'ADC Input Mux',0
Capabilities: volume volume-joined penum
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 7
Mono: 7 [100%]
Simple mixer control 'Fm',0
Capabilities: volume volume-joined penum
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 7
Mono: 7 [100%]
Simple mixer control 'FmL',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'FmR',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Ldac Left Mixer',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Ldac Right Mixer',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Rdac Right Mixer',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [off]
Так что же является лучшим решением для решения этой проблемы? Разбить стереовход на два разных решения? Использовать другой аудио-слой? Я не знаю!
Заранее спасибо,
~ MxAgent