EN
Home > FAQ | awinic > FAQ0100529: 如何使用Kcontrol 配合高通平台mixer_paths.xml来控制模拟PA进行场景切换?

FAQ0100529: 如何使用Kcontrol 配合高通平台mixer_paths.xml来控制模拟PA进行场景切换?

Audio 2022-08-23 Views: 119 Likes: 3

将模拟PA的Kcontrol注册进系统,并将其添加进mixer_paths.xml中的对应场景path中。


1、将Kcontrol注册到系统;

在codec_probe函数中中增加函数接口“aw87xxx_add_codec_controls()”如下代码示例:

static int wcd937x_soc_codec_probe(struct snd_soc_component *component)

{...

ret = aw87xxx_add_codec_controls((void *)component);

if (ret < 0) {

pr_err("%s: add_codec_controls failed, ret %d\n",

__func__, ret);

retrun ret;

};

return ret;

err_hwdep:

…}


2、检查Kcontrol创建是否成功;

依次进行:编译 刷机 重启 执行如下命令,如果出现如下kcontrol则说明创建成功;

PROJECT:/ # tinymix |grep aw //查看系统创建的kctl

ENUM 1 aw87xxx_profile_switch_0 Voice

INT 1 aw87xxx_vmax_get_0 -2032350

ENUM 1 aw87xxx_monitor_switch_0 Disable

PROJECT:/ # tinymix aw87xxx_profile_switch_0 //打印当前支持的场景,

aw87xxx_profile_switch_0: Music >Voice Fm Receiver Off


3、配置mixer_paths.xml来切换控制切换PA场景;

//初始化

//speaker 通路

//reciver通路

问题1:

如何确认当前项目使用的mixer_paths.xml文件路径?

在终端执行如下命令:

$ adb root//获取root权限

# pkill audioserver //杀死音频服务,强制其进行重启

# logcat | grep mixer_path//搜索mixer_paths.xml文件路径信息

出现如下log, 即可确认该mixer_paths.xml文件路径为:/vendor/etc/mixer_paths.xml

08:41:43 7279 7279 D msm8974_platform: platform_init: Loading mixer file: /vendor/etc/mixer_paths.xml


Back to FAQ List