Я работаю над проектом, который использует alsa строку в, и наметьте, я хочу разделить левую и правую строку в / смочь иметь два независимых моно аудиовхода и произвести. Я сделал это с этой конфигурацией в "asoundrc" файле:
pcm.dsnoop0 {
type dsnoop # Direct snoop
ipc_key 321400 # unique IPC key
ipc_key_add_uid true # add current uid to unique IPC key
slave{
pcm "hw:0,0"
#format S32_LE
rate 16000
period_time 0
channels 2
period_size 320 # must be power of 2
buffer_size 10240 # ditto
}
bindings{
0 0
}
}
pcm.dmix0 {
type dmix
ipc_key 321410 # any unique value
ipc_key_add_uid true
slave{
pcm "hw:0,0"
#format S16_LE
rate 16000
period_time 0
channels 2
period_size 320 # must be power of 2
buffer_size 10240 # ditto
}
bindings {
0 0
}
}
pcm.duplex0 {
type asym
playback.pcm dmix0
capture.pcm dsnoop0
}
pcm.plug0 {
type plug
slave.pcm "duplex0"
}
pcm.dsnoop1 {
type dsnoop # Direct snoop
ipc_key 321420 # unique IPC key
ipc_key_add_uid true # add current uid to unique IPC key
slave{
pcm "hw:0,0"
#format S32_LE
rate 16000
channels 2
period_time 0
period_size 320 # must be power of 2
buffer_size 10240 # ditto
}
bindings {
1 1
}
}
pcm.dmix1 {
type dmix
ipc_key 321430 # any unique value
ipc_key_add_uid true
slave{
pcm "hw:0,0"
#format S16_LE
rate 16000
period_time 0
channels 2
period_size 320 # must be power of 2
buffer_size 10240 # ditto
}
bindings{
1 1
}
}
pcm.duplex1 {
type asym
playback.pcm dmix1
capture.pcm dsnoop1
}
pcm.plug1 {
type plug
slave.pcm "duplex1"
}
аудиовыход хорошо работает, но моя человечность определяет "Строку в" столь же моно, как я могу изменить это, чтобы быть как "Строка стерео в"?
Я нашел решение, проблема была в моем ipc_key:
pcm.dev0{
type hw
card 0
device 0
}
ctl.dev0{
type hw
card 0
}
pcm.dmix0 {
type dmix
ipc_key 321400 # any unique value
ipc_key_add_uid 1 # add current uid to unique IPC key
ipc_perm 0666
slave{
pcm dev0
format S16_LE
rate 16000
period_time 0
channels 2
period_size 320 # must be power of 2
buffer_size 10240 # ditto
}
bindings {
0 0
}
}
pcm.dmix1 {
type dmix
ipc_key 321400 # any unique value
ipc_key_add_uid 1 # add current uid to unique IPC key
ipc_perm 0666
slave{
pcm dev0
format S16_LE
rate 16000
period_time 0
channels 2
period_size 320 # must be power of 2
buffer_size 10240 # ditto
}
bindings {
1 1
}
}
pcm.dsnoop0 {
type dsnoop # Direct snoop
ipc_key 321400 # unique IPC key
ipc_perm 0666
slave{
pcm dev0
format S16_LE
rate 16000
period_time 0
channels 2
period_size 320 # must be power of 2
buffer_size 10240 # ditto
}
bindings.0 0
}
pcm.dsnoop1 {
type dsnoop # Direct snoop
ipc_key 321400 # unique IPC key
ipc_perm 0666
slave{
pcm dev0
format S16_LE
rate 16000
period_time 0
channels 2
period_size 320 # must be power of 2
buffer_size 10240 # ditto
}
bindings.0 1
}
pcm.duplex0 {
type asym
playback.pcm dmix0
capture.pcm dsnoop0
#bindings.0 0
}
pcm.duplex1 {
type asym
playback.pcm dmix1
capture.pcm dsnoop1
}
pcm.plug0 {
type plug
slave.pcm "duplex0"
}
pcm.plug1 {
type plug
slave.pcm "duplex1"
}