这篇教程一直在OneNote上躺着,休息了好长时间也该见见眼光了!
一、准备工作
1. 所需文件与工具
(1) codec:在linux中提取的信息,cat /proc/asound/card1/card#0 > ~/Desktop/codec.txt;
(2) codecgraph:用于整理出节点的路径图。在使用前要先安装brew和依赖 brew install graphviz ;
(3) verbit.sh:将codec中的有效节点提取出来;
(4) xcode:编译工具;
(5) AppleALC项目文件,git clone https://github.com/vit9696/AppleALC;
(6) PlistEdit Pro:用于修改plist文件;
(7) Lilu.kext的Release版本,在vit9696大神的GitHub项目里。
2. 整理codec文件
2.1 生成路径图
在codec目录下执行命令:./codecgraph ../codec.txt,会在codecgraph位置默认生成svg文件,打开可以看见节点路径图。
2.2 生成有效节点信息
首先给予verbit.sh权限:sudo chmod +x verbit.sh;然后是执行命令:./verbit.sh ../codec.txt > ../codec_dump.txt,打开就能看见有效节点。
二、整理路径
1. 整理有效节点
我的有效节点如下所示
有效节点
很明显0x17和0x1d为无效节点,并且去掉Modified Verbs,于是剩下的有效信息一如下
有效信息一
2. 推导路径
2.1 推导内置麦克风路径
打开最原始的codec.txt文件,查找包含内置麦克风对应的节点0x12,也就是说我们需要找的是Connection包含0x12的节点,显然发现是0x12是在0x11下的,同理再查找0x11在哪个节点包含之下。发