【问题标题】:How to read/send data using the Android Devices 3.5mm headset jack?如何使用 Android 设备 3.5 毫米耳机插孔读取/发送数据?
【发布时间】:2011-12-17 09:52:07
【问题描述】:

我刚刚在 EE Stack 上磕磕绊绊,发现了这个帖子:What protocol does a headphone jack use. 它引发了我的一些好奇心,我想,if the iPhone 可以做到,我也想这样做。

是否有人知道现在正在这样做的任何项目,或者是否有可能?

更新

撕掉

【问题讨论】:

  • 我很困惑,这些不只是通过电缆传输的模拟信号吗?你可以对他们做任何你想做的事——唯一的问题是what
  • 对,我知道。我想知道如何读取(或输出)数据?我在处理 TRS 输入(输出)的文档中没有找到任何内容。
  • 我们不能用MediaRecorder进行信号处理吗?
  • 如果我正确阅读了文档,我不这么认为。据我所知,MediaRecorder 只能接收来自该摄像头和麦克风的数据。不是 TRS 套接字。
  • 在那张纸条上,我认为AudioRecord 可能是解决方案。我会调查的。

标签: android hardware headset


【解决方案1】:

您基本上是在问如何将麦克风输入转换为调制解调器输入。 Square 在 iOS 和 Android 设备上将这种巧妙技术的一个变体用于其磁条阅读器的商业用途。

为此,需要从 Android 访问原始 PCM 流并对输入进行解码。对你来说幸运的是,有人已经做到了,并将源扔在那里。有关仅用于传输的示例 Arduino 和 Android 代码,请参见 this Hack a Day linked project

我找不到接收的示例 Android 代码,但在 this Arduino forum post 中有相当广泛的关于使用 iOS 进行 FSK 的说明。

(虽然这不是您的问题,但更简单的方法是让数据进出 Android 设备是新的USB Host and Accessory 支持。它需要新的手机和操作系统,因此不如音频路由灵活。 )

【讨论】:

  • 输出9600波特的数据很有意思,但是不解决数据的接收问题。
  • 好点,我更新了评论。我将它与另一个具有 iOS 库的项目(添加的链接)混淆了。
  • 是的,相信我,我绝对认真地考虑过 USB,但我正在研究的内容我希望在 1.6 或更高版本上运行。不过,感谢您的意见,这篇文章很适合您。
  • @KonstantinPribluda 对,绝大多数是 2.2/2.3(包括我的测试设备)。但是这两个版本都缺乏 USB 功能。此外,据我所知,每台设备都会有一个 3.5 插孔;并非所有设备都保证有兼容的 USB 设备。
【解决方案2】:

我编写了一个 C 库,它可以通过音频电缆以 64kbps 的速度发送和接收数据。 https://github.com/quiet/quiet

就调制技术而言,它支持广泛的范围,因为它使用 SDR 库来执行其调制。

如果您想尝试一下,这里有一个现场演示 https://quiet.github.io/quiet-js/lab.html

【讨论】:

  • 酷,谢谢:请注意 Windows 上的“循环测试”演示,确保禁用麦克风上的声音效果,否则反馈取消将阻止接收通过扬声器发送的内容。控制面板→声音→更改声音设置→录音->属性->增强功能->勾选禁用所有音效。
猜你喜欢
  • 1970-01-01
  • 2011-11-03
  • 2012-05-02
  • 1970-01-01
  • 2011-10-18
  • 1970-01-01
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多