1

我想在不使用任何物理电缆的情况下将扬声器输出连接到 Android 手机上的麦克风输入。这样的路由应该对所有应用程序都是透明的。有了这个功能,我可以设计一堆有趣的应用程序,例如测量 voip 通话的往返延迟,自动回复来电等。

一些类似的问题可以在这里找到:

通话的背景音乐

将音频流输出到麦克风

Android 上目前似乎没有解决方案,但是在 Linux 上运行的工具 JACK 是最重要的。有人可以为我提供一些脚本或代码来创建一个在 Linux 上实现这一点(扬声器-> 麦克风)的 JACK 客户端吗?将 JACK 服务器和客户端移植到 Android 有多难?

谢谢!

4

1 回答 1

2

在 Linux 上让 Jack 将麦克风连接到扬声器:

  1. 用 QJackCtl 启动 Jack。这并不像听起来那么容易:
    1. 启动 QJackCtl。
    2. 单击“设置...”按钮。
    3. 从“驱动程序:”下拉列表中选择“alsa”。
    4. 从“输入设备”和“输出设备”下拉列表中选择您想要使用的声卡/声卡。请注意,如果您有相对强大的声卡,则可能有许多可能的设备(我的 Audigy 2 ZS 有四个)。选择正确的一个超出了本教程的范围。
    5. 检查右下角的延迟。意识到杰克本身需要一些时间来处理声音。这为您提供了相关信息(我很抱歉,但我不知道它的确切含义)。运行 Jack 通常是在获得超低延迟和避免“xruns”之间进行权衡,这是 Jack 不得不放弃处理一段音频的地方。Xruns 通常会产生“咔哒”声。
    6. 单击“确定”。
  2. 单击“连接”按钮。
  3. 这将打开“连接”面板。这基本上是一个您可以将不同的 Jack 应用程序相互插入的地方,以便它们相互处理音频。
  4. 选择输入(左侧的“系统”)和输出(右侧的“系统”),然后单击“连接”。您可能需要查看一侧或两侧“系统”下列出的各种内容,以找到实际从麦克风/输出到扬声器的内容,在这种情况下。同样,这超出了本教程的范围;Google 是您的朋友,反复试验也是如此。
  5. 当您将麦克风靠近扬声器时,享受反馈的噪音。

就将 Jack 移植到 Android 而言,您可能会看一下这个,它基本上似乎表明 Android 无法处理 Jack 的低延迟要求(这也可能导致您在尝试进行延迟测量时遇到问题)。您还可以查看thisthis,这可能会提供另一种方法来做您想做的事情(我不确定它在延迟问题方面的立场,而且,我自己从未使用过 PD 或 libpd )。

于 2013-08-23T20:24:23.730 回答