Android底层开发之音频输入通道的软硬件分析

本文探讨了Android设备中音频输入通道的软硬件实现,包括基于3157模拟开关的硬件切换和rk616音频代码中的软件切换。讨论了理想情况下所有Mic通道并行且由CPU控制的方案,并指出Android系统对单独3.5mm Mic jack支持的不足。同时,提到了内核如何检测和处理不同类型的音频设备插入。
摘要由CSDN通过智能技术生成
               

Android底层开发之音频输入通道的软硬件分析

        我们都知道耳机Mic集成在一直的那种四段耳机Mic插头是Android设备上比较常用。但是也会有分开的情况,比较如果在普通的PC机中装Android系统,那么就是这种情况。所以就有必要对音频输入通道的软件硬件进行统一的分析一下,接下来分析一个实例。

        该设备的硬件连接为:基于3157的模拟开关实现的 通道切换。

 

        设备是完全靠硬件实现的,那么就没有软件的什么工作了。但是这并不是一个理想的实现方法,真下的实现方法应该是所有的Mic都是并行的,每个Mic通道都有一个使能管脚。让系统来控制让哪个Mic作为输入。其实rk616 audio代码中是有切换的代码的:

static int rk616_capture_path_put(struct snd_kcontrol *kcontrol,

                struct snd_ctl_elem_value *ucontrol)

{

        struct rk616_codec_priv *rk616 = rk616_priv;

        long int pre_path;

 

        if (!rk616) {

                printk("%s : rk616_priv is NULL\n", __func__);

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值