V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lushl9301
V2EX  ›  程序员

如何在 pc 上获取耳机线控数据?

  •  1
     
  •   lushl9301 ·
    lushl9301 · 2014-11-02 10:06:36 +08:00 · 7937 次点击
    这是一个创建于 3661 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在用的是小米线控耳机。突然想到可否在pc上用来control音量。

    我自己是linux,无法使用线控。搜索半天也没发现有相关话题。

    拿着耳机去同学mac上尝试,发现可以长按启动iTunes. 非常神奇。

    想找一下headphone jack的相关library,自己写个小程序。目的是可以用耳机线控pc调节音量。

    大家忙帮出出主意?
    15 条回复    2014-11-03 11:32:09 +08:00
    sennes
        1
    sennes  
       2014-11-02 10:13:00 +08:00 via Android
    :) 突然有点好奇线控的原理。今天有空去折腾下。
    lushl9301
        2
    lushl9301  
    OP
       2014-11-02 10:14:56 +08:00
    @sennes 我看到有arduino 通过耳机线链接iphone的。不知道iphone如何listen到arduino的数据的。想写个类似的在linux上。
    Sylv
        3
    Sylv  
       2014-11-02 10:24:08 +08:00 via iPhone
    应该是硬件问题。普通耳机插头是两节的,苹果耳机等新的线控耳机接口是三节的,多一节用来传输线控信号。然后现在的手机大部分和苹果都有对应的接口来读取线控信号,但是估计大部分的 PC 配的还是不能读线控信号的旧接口。所以硬件不支持你也没办法。
    lsylsy2
        4
    lsylsy2  
       2014-11-02 10:32:29 +08:00   ❤️ 1
    @Sylv 普通3.5mm耳机插头是三节的:地线和左右声道,手机耳机一般要多一节,但那是麦克风。
    至少我记得有没有线控,插头节数是一样的,信号应该是走别的方法传吧……
    lushl9301
        5
    lushl9301  
    OP
       2014-11-02 10:37:42 +08:00
    @Sylv
    @lsylsy2
    现在大都是四节,只不过是两个标准。omtp和ctia。左声道,右声道,mic,gnd。

    不知道线控走哪个了。。。可能是mic?

    有没有做耳机的硬件工程师来讲讲。。。
    kofj
        6
    kofj  
       2014-11-02 10:41:29 +08:00   ❤️ 1
    @lushl9301 线控是手机电路通过对MIC和GND之间电阻值的识别来实现的
    lushl9301
        7
    lushl9301  
    OP
       2014-11-02 10:46:58 +08:00
    @kofj
    http://wenda.chinabaike.com/b/35746/2013/1103/615305.html

    找到了。感谢


    等过几天有空了继续研究如何获取control的数据。。
    Sylv
        8
    Sylv  
       2014-11-02 10:53:28 +08:00   ❤️ 2
    @lsylsy2 我查了下,线控耳机现在有两个标准,OMTP 和 CTIA,区别在于 MIC(麦克风)和 GND(接地)的位置是相反的。而线控功能是通过 MIC 和 GND 回路进行控制的,但是具体的控制方式各家厂商都是不一样的,没有统一的标准,尽管触点位置一样,也不能保证兼容。
    例如,苹果耳机用在小米上,听音乐没有问题,线控就只有中键有效,音量大小键无效,麦克风无效。

    我估计还是因为标准不统一,大部分 PC 厂商的硬件还是并不支持线控,或者是只支持自己的标准。而苹果电脑只要支持苹果耳机的线控标准就好,而小米耳机能用在苹果电脑上只是因为线控方式可能有部分相同。
    lushl9301
        9
    lushl9301  
    OP
       2014-11-02 11:03:07 +08:00
    所以应该从驱动入手?学习如何听取control? o(^_^|||)?
    pimin
        10
    pimin  
       2014-11-02 11:22:46 +08:00   ❤️ 1
    @lushl9301
    感觉像太多。。
    windows下我只知道简单hook多媒体键就好了
    我想不管是手机还是PC,线控输出的keycode应该是一样的,针对处理就好了吧
    Tink
        11
    Tink  
       2014-11-02 11:57:45 +08:00 via iPhone
    很早以前Nokia得耳机映射之后是可以作为游戏手柄来使用的,虽然很难用。
    a154312237
        12
    a154312237  
       2014-11-02 12:57:43 +08:00 via iPhone
    关键问题是pc一般只支持3节头
    lushl9301
        13
    lushl9301  
    OP
       2014-11-02 13:03:38 +08:00
    @a154312237 我的电脑刚好是那个耳机加mic的插口。
    zhhc
        14
    zhhc  
       2014-11-03 10:33:08 +08:00
    pc耳机孔有麦克风位?
    lushl9301
        15
    lushl9301  
    OP
       2014-11-03 11:32:09 +08:00   ❤️ 1
    @zhhc 有的笔记本有
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2897 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:35 · PVG 08:35 · LAX 16:35 · JFK 19:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.