在Android上无需电缆即可将扬声器输出到麦克风输入?
Posted
技术标签:
【中文标题】在Android上无需电缆即可将扬声器输出到麦克风输入?【英文标题】:Speaker output to mic input without cable on Android? 【发布时间】:2013-08-25 09:37:00 【问题描述】:我想在不使用任何物理电缆的情况下将扬声器输出连接到 android 手机上的麦克风输入。这样的路由应该对所有应用程序都是透明的。有了这个功能,我可以设计一堆有趣的应用程序,例如测量 voip 通话的往返延迟,自动回复来电等。
一些类似的问题可以在这里找到:
Background music for call
Outputting audio stream into microphone
目前Android上似乎没有解决方案,但是在Linux上运行的工具JACK是壁橱里的。有人可以为我提供一些脚本或代码来创建一个在 Linux 上实现这一点(扬声器-> 麦克风)的 JACK 客户端吗?将 JACK 服务器和客户端移植到 Android 有多难?
谢谢!
【问题讨论】:
【参考方案1】:让 Linux 上的 Jack 将麦克风连接到扬声器:
-
用 QJackCtl 启动 Jack。这并不像听起来那么容易:
-
启动 QJackCtl。
点击“设置...”按钮。
从“驱动程序:”下拉列表中选择“alsa”。
从“输入设备”和“输出设备”下拉菜单中选择要使用的声卡/声卡。请注意,如果您有相对强大的声卡,则可能有许多可能的设备(我的 Audigy 2 ZS 有四个)。选择正确的方法超出了本教程的范围。
检查右下角的延迟。意识到杰克本身需要一些时间来处理声音。这为您提供了相关信息(我很抱歉,但我不知道它的确切含义)。运行 Jack 通常是在获得超低延迟和避免“xruns”之间进行权衡,这是 Jack 不得不放弃处理一段音频的地方。 Xruns 通常会发出“咔哒”声。
点击“确定”。
就将 Jack 移植到 Android 而言,您可以查看 this,这基本上似乎表明 Android 无法处理 Jack 的低延迟要求(这也可能导致您在尝试进行延迟测量)。您还可以查看this 和this,这可能会提供另一种方法来执行您正在尝试做的事情(我不确定它在延迟问题方面的立场,而且,我也从未使用过PD 或 libpd 我自己)。
【讨论】:
感谢您的回答! QJackCtl 实现了我在 Linux 上的需要。然而,将 JACK 移植到 Android 上似乎仍然是一项未完成的工作。您提供的大多数链接都在谈论生成扬声器输出,而我仍然不知道如何用扬声器输出(或其他任何东西)替换默认麦克风输入。对此有任何想法吗?以上是关于在Android上无需电缆即可将扬声器输出到麦克风输入?的主要内容,如果未能解决你的问题,请参考以下文章