通过 Android 手机中的耳机插孔发送数据

Posted

技术标签:

【中文标题】通过 Android 手机中的耳机插孔发送数据【英文标题】:Sending Data through Headphone jack in Android phones 【发布时间】:2012-05-02 04:21:58 【问题描述】:

我目前正在处理一个新项目,我必须通过具有特定电压的耳机插孔发送数据,然后我才能在该电压下工作。

所以在这里我需要根据我的数据对特定电压进行编程。是否有可能我可以在android中访问耳机的输出电压,然后创建一个应用程序来控制该电压?

【问题讨论】:

例如想象一下,不是在听音乐,而是看到独特的灯光为该音乐跳舞,那么您之间就有了协调。 仍然不确定你在问什么,如果你想修改进入插孔的声音,例如改变音量等,那是一回事。修改电压将在内核级别进行,并且需要您为特定的硬件设备构建自己的电压,并且要部署它,您必须获得 root 权限。 这是完全可能的。这就是squareup.com 从他们的信用卡读卡器获取数据的方式。 @davehale23 好的,我会咬一口,没有专用硬件,也没有内核 mod/root,您如何建议在使用时向连接到端口的设备发送(不读取)电压作为通用音频耳机来修改输出?工程师想要的似乎更有可能是通过直方图或其他方式将相机输入同步到音频输出(音量级别?) 我最近买了一个网络摄像头安全系统Canary,它就是这样做的。您在 Android 手机上的应用程序中输入各种配置信息,然后他们使用随附的音频线从耳机插孔将这些数据传输到 Canary 设备。 【参考方案1】:

这是处理此问题的 HackADay 文章。 http://hackaday.com/2010/02/01/android-audio-serial-connection/ 它提供的工作代码比我想象的要简单得多。

尽管像其他人建议的那样,包括 this 非常相似的 SO 帖子,但您可能会更轻松地使用 USB 端口。

【讨论】:

【参考方案2】:

从 android 或 iphone 中的音频插孔捕获输入数据的最简单方法是通过录制 http://developer.android.com/reference/android/media/AudioRecord.html

想想类似播放线性 pcm 音频文件,我没有尝试过,但我相信它应该可以工作

【讨论】:

是的,请记住一件事,PCM 流是模拟信号的数字表示,因此这可能是您的关键起点。【参考方案3】:

我相信您将不得不深入研究汇编类型语言,但是,为什么是耳机插孔?据我了解,只有混响和声音可以通过耳机插孔传输。我相信通过Mini-USB端口输出电压会更可行。

我认为这个网站可能对我的方法有所帮助:

http://pinouts.ru/Slots/USB_pinout.shtml

【讨论】:

【参考方案4】:

您可以尝试将数据转换为二进制,例如,当您听音乐时,您的耳机插孔会发生变化 +- 振动以发出声音,这样您就可以使 +- = 0 和 -+ = 1

【讨论】:

以上是关于通过 Android 手机中的耳机插孔发送数据的主要内容,如果未能解决你的问题,请参考以下文章

耳机电话插孔信用卡刷卡与浏览器应用程序

通过声卡哔哔声

通过耳机插孔(适配器?)

iPhone API - 通过音频插孔发送电信号

Android使用AudioTrack发送红外信号

基于 iPhone 3.5 毫米插孔的应用程序