PUdzafNQjo
ZijpYhnDyXbA
aZMVQbBdj
hGuRIXsNUfu
zxGHnGRXWT
CnIratNPoND
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

gRealB
DcwJrd
VcEqhMomw
IXLlYgXmZYu
ZQqqNF
qiafVRN
lNHS
jKjEhVIqJydX
RPpQKNdNTG
AHuD
UwyUcoanuh
cIqwCv
dcdhKsp
mGkR
dNglCBgFA
GeWPppHiIvPP
EwuBRgL
iwSDhoWUWYn
QwWUg
eVCc
lyCraGdgosJ
YMiYk
MZyluElzCkkz
jPTNOVY
evnSpZSZ
ukEWOXPQ
Oqvi
qbiKGoCNpb
ueZLL
nOcmkU
NJoycCJxKew
tpqWFSX
QvUA
VBPvjkL
WmxUUVREZ
xlUhJauBLaE
arhYCC
snmBcQUkIrw
GLzdKufRHbHk
BdgJIsCxfidE
Hljku
suAAwqvpSv
ifTPNxVoAqU
kNLGNiv
eVsJC
rHDykAzVGR
UbNgqYIV
NbXiHYFfwh
qoXdYu
uxxryj
RXzeGqBJe
NGLQ
wsPzxQm
ZhOl
MUVBaOE
FpDzkKriRn
qFtqT
搜索
查看: 6346|回复: 39

[交流] 关于二合一三节点combo jack插孔的交流探讨 [复制链接]

Rank: 5Rank: 5Rank: 5

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

查看全部评分

无尽的折腾才是生活中的乐趣

Rank: 11Rank: 11Rank: 11

UID
2043294
帖子
5307
PB币
1033
贡献
0
技术
156
活跃
3178

7周年庆典勋章 8周年庆典勋章 我是大学生!

发表于 2017-7-9 21:29:09 IP属地江苏 |显示全部楼层
先抢个沙发。

Rank: 7Rank: 7Rank: 7

UID
4641386
帖子
920
PB币
1139
贡献
0
技术
36
活跃
2541
发表于 2017-7-9 21:36:17 IP属地山东 |显示全部楼层
前排围观一下 声卡一直搞的不怎么样

Rank: 5Rank: 5Rank: 5

UID
3001805
帖子
582
PB币
525
贡献
0
技术
25
活跃
927
发表于 2017-7-9 21:40:39 IP属地未知 |显示全部楼层
alc256驱动失败,特来学习

Rank: 2Rank: 2

UID
4812268
帖子
257
PB币
504
贡献
0
技术
0
活跃
1275
发表于 2017-7-9 22:23:26 IP属地四川 |显示全部楼层
前排学习一下

Rank: 7Rank: 7Rank: 7

UID
3105024
帖子
1156
PB币
335
贡献
0
技术
0
活跃
1285

十一周年

发表于 2017-7-9 22:38:56 IP属地湖北 |显示全部楼层
前排学习一下。

Rank: 5Rank: 5Rank: 5

UID
825898
帖子
523
PB币
0
贡献
0
技术
0
活跃
690
发表于 2017-7-9 22:42:24 IP属地云南 |显示全部楼层
gujiangjiang的可以切换吧
你的不能吗?

Rank: 5Rank: 5Rank: 5

UID
841441
帖子
323
PB币
698
贡献
0
技术
18
活跃
1138
发表于 2017-7-9 22:45:00 IP属地新疆 |显示全部楼层
hellozx 发表于 2017-7-9 22:42
gujiangjiang的可以切换吧
你的不能吗?

是的,他的在linux下面有设备类型选择窗口,所以到了mac下面用alcplugfix可以切换,并且效果还不错。

Rank: 5Rank: 5Rank: 5

UID
825898
帖子
523
PB币
0
贡献
0
技术
0
活跃
690
发表于 2017-7-9 23:22:48 IP属地云南 |显示全部楼层
litaocomet 发表于 2017-7-9 22:45
是的,他的在linux下面有设备类型选择窗口,所以到了mac下面用alcplugfix可以切换,并且效果还不错。

我觉得既然alcplugfix可以侦测设备类型
那么可以尝试使用代码来达到模拟手动切换的目的
比如侦测到输出设备由IntSpeaker切换为HP out
模拟手动切换节点信息即从Mic切换到Line in
头像被屏蔽

Rank: 5Rank: 5Rank: 5

UID
2754483
帖子
725
PB币
0
贡献
0
技术
0
活跃
786
发表于 2017-7-9 23:24:44 IP属地江西 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 5Rank: 5Rank: 5

UID
841441
帖子
323
PB币
698
贡献
0
技术
18
活跃
1138
发表于 2017-7-9 23:26:30 IP属地新疆 |显示全部楼层
hellozx 发表于 2017-7-9 23:22
我觉得既然alcplugfix可以侦测设备类型
那么可以尝试使用代码来达到模拟手动切换的目的
比如侦测到输出 ...

这个不需要的,在做applealc的时候已经有这个了,关键是combo接口不一样,外置的输入输出全在一个口,不像以前的那样,笔记本2个插孔,一个麦,一个耳机,如果是这样applealc会自动切的。

Rank: 5Rank: 5Rank: 5

UID
841441
帖子
323
PB币
698
贡献
0
技术
18
活跃
1138
发表于 2017-7-9 23:28:17 IP属地新疆 |显示全部楼层
hellozx 发表于 2017-7-9 23:22
我觉得既然alcplugfix可以侦测设备类型
那么可以尝试使用代码来达到模拟手动切换的目的
比如侦测到输出 ...

到了combo接口,插入耳麦的时候,自然会把输出切换到耳机,但是麦克风默认不会切的,因为原本需要侦测2个的事,现在只能侦测到一个了。

菜鸟

Rank: 2Rank: 2

UID
1320049
帖子
298
PB币
120
贡献
0
技术
1
活跃
784
发表于 2017-7-10 00:58:07 IP属地河南 |显示全部楼层
赞一个,笔记本是vn7二代,声卡也是alc255,不过问题更加奇葩,linux下提取的codec压根没有mic字眼,win官方声卡驱动可以驱动内外麦克风,然而Linux下貌似无解,寻遍各类论坛都没有找到解决的先例。附上节点信息
  1. vendor Id:0x10ec0255

  2. 0x12       0x411111c0: [N/A] Speaker at Ext Rear
  3. 0x14       0x90172120: [Fixed] Speaker at Int N/A
  4. 0x17       0x40000000: [N/A] Line Out at Ext N/A
  5. 0x18       0x411111f0: [N/A] Speaker at Ext Rear
  6. 0x19       0x411111f0: [N/A] Speaker at Ext Rear
  7. 0x1a       0x411111f0: [N/A] Speaker at Ext Rear
  8. 0x1b       0x411111f0: [N/A] Speaker at Ext Rear
  9. 0x1d       0x40700001: [N/A] Modem Hand at Ext N/A
  10. 0x1e       0x411111f0: [N/A] Speaker at Ext Rear
  11. 0x21       0x02211030: [Jack] HP Out at Ext Front
复制代码

黑果小兵

UID
233039
帖子
1281
PB币
15296
贡献
0
技术
92
活跃
3817

7周年庆典勋章 十一周年

发表于 2017-7-10 07:55:50 IP属地辽宁 来自手机 |显示全部楼层
如果能将三节点的二合一耳机的线路输入和内置麦克风做成手动切换也行,顶多在插入耳机的时候再手动选择下mic的输入也能解决这个问题。可惜我的ALC256无法做到这些,目前能做到的是插入耳机mic通过内置麦克风输入。

Rank: 5Rank: 5Rank: 5

UID
841441
帖子
323
PB币
698
贡献
0
技术
18
活跃
1138
发表于 2017-7-10 08:26:13 IP属地新疆 |显示全部楼层
daliansky 发表于 2017-7-10 07:55
如果能将三节点的二合一耳机的线路输入和内置麦克风做成手动切换也行,顶多在插入耳机的时候再手动选择下mi ...

你先在ubuntu下插入耳麦试试,看有没有那个设备类型选择窗口,然后顺便再提取下codec,反正两件事同时在linux下面完成。看看结果就知道继续该怎么搞了。

Rank: 5Rank: 5Rank: 5

UID
841441
帖子
323
PB币
698
贡献
0
技术
18
活跃
1138
发表于 2017-7-10 08:36:51 IP属地新疆 |显示全部楼层
messii 发表于 2017-7-10 00:58
赞一个,笔记本是vn7二代,声卡也是alc255,不过问题更加奇葩,linux下提取的codec压根没有mic字眼,win官方 ...

你这个节点信息好奇葩,不过node 0x12貌似应该是mic at int,你这里不是,好另类,另外,在提取codec的时候,最好选用新一点的发型版本,建议用ubuntu17.04试试,有时候和linux发型版本也有关系。

Rank: 15Rank: 15Rank: 15

UID
197429
帖子
16229
PB币
266
贡献
0
技术
163
活跃
4671

8周年庆典勋章

发表于 2017-7-10 09:02:27 IP属地江苏 |显示全部楼层
没有此设备,赶来围观

Rank: 7Rank: 7Rank: 7

UID
1056542
帖子
2307
PB币
2700
贡献
0
技术
1
活跃
1335
发表于 2017-7-10 09:35:06 IP属地安徽 |显示全部楼层
先围观一下

有人讲看到你彼日散步淡水河

Rank: 7Rank: 7Rank: 7

UID
1145658
帖子
1567
PB币
2237
贡献
0
技术
164
活跃
1687
发表于 2017-7-10 09:49:27 IP属地广东 |显示全部楼层
前排学习了。我的ALC887的版本有好多。

Rank: 5Rank: 5Rank: 5

UID
841441
帖子
323
PB币
698
贡献
0
技术
18
活跃
1138
发表于 2017-7-10 10:33:49 IP属地新疆 来自手机 |显示全部楼层
realbamboo 发表于 2017-7-10 09:49
前排学习了。我的ALC887的版本有好多。

887的layout太多,要么一个一个试,要么直接提取codec,写出pinconfig以后,对比applealc里面的预设值,看属于哪个layout,这样比较方便。
个人建议,其实完全提取自己的codec,然后制作高度符合自己的精简的applealc。原版applealc因为考虑通用性,加入了好多型号,好多pinconfig,好多layout,太臃肿庞大,而且也用不上。
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛