Определите чистый и работающий asound.conf для моего встроенного устройства
В настоящее время я использую очень сложный файл asound.conf из базового проекта BSP. Я хотел бы определить свой собственный asound.conf.
Моя текущая потребность на моем встроенном устройстве: воспроизведение монофонических файлов только с частотой 44100 Гц. В режиме динамика у меня только один выходной динамик. Когда я подключаю разъем, я должен слышать звук в обоих наушниках. Мне также нужно иметь возможность записывать звук с микрофона в моно с частотой 11500 Гц.
Моя доступная звуковая карта:
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: wm8960audio [wm8960-audio], device 0: HiFi wm8960-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: wm8960audio [wm8960-audio], device 1: HiFi-ASRC-FE (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
#
Я не использую одинаковую скорость между выводом и вводом. Но устройство ASRC позволяет мне сохранять хорошую производительность с разными скоростями. Вот почему я хочу использовать устройство 1, а не устройство 0.
Я попытался определить мой конфиг следующим образом:
# cat /etc/asound.conf
pcm_slave.out {
pcm {
type hw
card 0
device 1
}
channels 2
period_time 0
period_size 512
buffer_size 1024
rate 44100
}
pcm.out_mono {
ipc_key 1042
type dmix
slave out
bindings.0 0
bindings.0 1
}
pcm_slave.in {
pcm {
type hw
card 0
device 1
}
channels 2
rate 11025
}
pcm.in_mono {
ipc_key 1043
type dsnoop
slave in
bindings.0 1
}
Он отлично работает с динамиком (то есть только с одним динамиком) и производительность процессора очень хорошая. Я играю звук, используя out_mono PCM. Но я могу слышать звук в одном наушнике только в режиме jack, когда я использую in_mono pcm. В asound.conf я пытался сказать, что хочу перенаправить монофонический звук на оба выхода, но он не работает:
bindings.0 0
bindings.0 1
Вторая строка привязок стирает первую... Поэтому я ищу способ услышать звук на двух выходах. Конечно, если я использовал pcm по умолчанию вместо out_mono, звук отлично работает на обоих выходах.
Я что-то не так понял в определении asound conf?
1 ответ
dmix
Плагин имеет отображение 1:1 своих каналов на подчиненные.
Чтобы разрешить другие преобразования, используйте plug
плагин. Его привязки могут быть настроены с ttable
, но значения по умолчанию должны быть в порядке:
pcm.out_mono {
type plug
slave.pcm {
ipc_key 1042
type dmix
slave out
}
}