积分 225 最后登录 2024-4-7 精华 0 阅读权限 30 主题 38 UID 841441 帖子 323 PB币 698 威望 16 贡献 0 技术 18 活跃 1138
UID 841441 帖子 323 PB币 698 贡献 0 技术 18 活跃 1138
发表于 2017-7-9 20:27:25
IP属地新疆
| 显示全部楼层
现在好多笔记本电脑的耳麦插孔,为了节省空间都改为了二合一的插孔,即耳机和麦克风合二为一个插头,这样带来的好处就是节省了笔记本的外设空间,不再需要2个那么多的地方,但是也随之带来了一些问题,当然,在windows下面没有任何困难。在hackintosh下面,问题就来了。
二合一的combo插头,总共分为四段,分别定义是地,左声道,右声道,麦克风。
这里面又分为美标和国标,具体定义有所不同。当年iPhone4s的随机耳机就分为美标版和国标版,有印象的可以回顾下。
对于这种二合一的耳麦插头,论坛有过相关讨论,具体思路就是通过alcplugfix来实现耳麦插入和拔出的时候,自动切换内置和外置,实现输入输出的切换。对于四节点的声卡,当然很容易实现,因为内置mic,speaker和外置的mic、HP out都有定义,无非就是添加节点路径,并做好alcplugfix里面的 SET_PIN_WIDGET_CONTROL 的设定值,这样就达到了预期目的。
当然,还有个例外,就是三节点的二合一插孔,一般是没有 mic at ext这个节点的,论坛以前也有人讨论过这个情况,具体思路就是添加一个N/A节点当做LineIn,线路输入的方式将外置mic添加进去,并用alcplugfix进行切换。
相关讨论帖:
关云长羽的 【声卡驱动完善进阶】——关于耳机杂音解决办法及三节点信息驱动双麦克风的猜想
https://blog.neroxps.cn/blog/macOS/Combo-Audio-Ext-Mic.html
以上诸位都对combo jack的问题进行了前瞻性的探索,付出了很多努力。
然而,经过我对自己的笔记本上alc255这声卡进行研究时发现,情况远非如此简单。特别是和@gujiangjiang进行探讨,在对比了他的xps 15上面的alc 298之后,我终于有了一些心得,具体如下:
我的alc 255 节点信息:
从中可以看出0x12为内置麦克风,0x14位内置扬声器,0x21位耳机,唯独没有外置麦克风的节点,那么当我把0x18,0x19,0x1a,0x1b,0x1d等节点,逐一当做mic at ext加入时候,重新制作applealc,还是不能实现耳麦的线路音频输入,最多只能显示出来线路输入,但是没有任何电平信号。
这里就产生问题了,这是为什么呢?后来经过研究发现,其实有一种方法可以判断出来,就是在利用linux提取声卡的codec的时候,最好用ubuntu,版本号高于ubuntu 14.04,一定要高于这个版本(14.04,14.10,15.04,15.10,16.04,16.10,17.04……)都可以,然后在试用界面,插入耳麦,如果弹出如下窗口:
即让你选择插入设备类型,那么恭喜你,你的三节点combo jack有解。
如果没有提示,并且ubuntu的声音设置里面没有任何外置麦克风的信息,那么很抱歉。
那么,再深入思考一下原因,三节点的耳麦输入为什么在windows下是可以的,因为在windows下安装Realtek的声卡驱动以后,每当插入耳麦的时候,也弹出一个如上图类似的选择设备类型的窗口,这里我可以初步得出结论:在windows下面,耳麦输入是靠软件来实现的,这种方式到了linux 和 mac下面,当然无法实现(或者说暂时无法)。
至此,关于三节点的的combo jack,我就研究了这么多,欢迎大家来讨论。
展开阅读全文​
附件:
你需要登录 才可以下载或查看附件。没有帐号?注册
1
查看全部评分