linux asound.conf,linux - 为我的嵌入式设备定义一个干净且有效的asound.conf - 堆栈内存溢出...

我目前正在使用参考设计BSP中非常复杂的asound.conf文件。 我想定义自己的asound.conf。

我目前在嵌入式设备上的需求:仅以44100 Hz的速率播放单声道文件。 在扬声器模式下,我只有一个输出扬声器。 插入插孔时,我必须能够听到两个耳机上的声音。 我还需要能够以11500 Hz的频率单声道录制来自麦克风的声音。

我可用的声卡:

# 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

}

它可以很好地与扬声器配合使用(因此只能与一个扬声器配合使用),并且CPU性能非常好。 我使用out_mono pcm播放声音。 但是,当我使用in_mono pcm时, 只能在插孔模式下用一个耳机听到声音 。 在asound.conf中,我试图说我想重定向两个输出上的单声道声音,但是它不起作用:

bindings.0 0

bindings.0 1

绑定的第二行正在擦除第一行。因此,我正在寻找一种能够在两个输出上听到声音的方法。 当然,如果我使用默认的 pcm而不是out_mono ,则声音在两个输出上都运行良好。

我是否误解了asound conf定义中的某些内容?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值