1 kcontrol 表示一种功能 控制一个或多个寄存器
2 tinymix 可以看出 kcontrol 名字对应的 序号
3 如何使用kcontrol
首先 open 打开 dev/snd 里面 控制节点
4所有的 kcontrol 都会经过 tinyalsa 里面的 control.c 文件中的 snd_ctl_ioctl
5 snd_soc_dapm_path不需要自己定义,会在注册snd_soc_dapm_route时动态地生成。
6 widget
应用程序无法直接访问 widget
7 widget 是为了连接而生的, 那么控制连接或者不连接 只能是 kcontrol
(根据 kcontrol 状态, 设置 path状态标志位。
所以有些没用 kcontrol的path,标志位一直是连接 )
8 那么 xml 中的 kcontrol 应该都存在于 snd_soc_dapm_route 中呀
9 添加widget snd_soc_dapm_new_controls
添加route snd_soc_dapm_add_routes
10 如果 把几个 设置通路的话,应该有 widget route
11 kcontrol 的名字(尤其是 mix 跟 mux)
ALSA中Widget、route、kcontrol 命名规则