Android 窃听(聚焦)音频流

Android 窃听(聚焦)音频流,android,audio,Android,Audio,尽管我在developer.android.com和stackoverflow上读了所有我能读到的东西,但我还是不知道如何做到这一点,尽管我真的认为这应该是可能的 我正在尝试使用OpenGL ES 2.0制作一个通用的“可视化工具”样式的应用程序。我想能够窃听任何音频流目前有重点,使我可以对音乐作出反应。该设备应该能够播放他们想要的任何应用程序中的音乐,然后打开我的应用程序并让它响应 到目前为止,我已经找到了很多方法来播放、录制、流式播放来自已知来源的音频。然而,我不知道如何窃听设备。在mac上

尽管我在developer.android.com和stackoverflow上读了所有我能读到的东西,但我还是不知道如何做到这一点,尽管我真的认为这应该是可能的

我正在尝试使用OpenGL ES 2.0制作一个通用的“可视化工具”样式的应用程序。我想能够窃听任何音频流目前有重点,使我可以对音乐作出反应。该设备应该能够播放他们想要的任何应用程序中的音乐,然后打开我的应用程序并让它响应


到目前为止,我已经找到了很多方法来播放、录制、流式播放来自已知来源的音频。然而,我不知道如何窃听设备。在mac上,这就像在硬件端插入一个音频单元一样简单。android中有类似的功能吗?或者沙箱是否完全阻止了这一点?

这里是另一种看待这个问题的方式。假设操作系统允许您这样做。假设有一个API可以让您这样做

Audio.doEavesDrop(窃听回调)

现在,想象一下一些负面后果可能是什么:

  • 挂起音频流。那个回调有时有返回控制,如果因为某种原因它没有返回控制呢?音频流会发生什么变化

  • 恶意的屋檐掉落:你的雇主或勒索者,或其他想侵犯你隐私的人用它捕捉你手机输出的每一个声音

如果你在设计这个平台,你会如何应对这些问题(这些问题我几分钟内就能想到)


你认为这可能吗?也许不是,而且有很好的理由

我不是一个系统架构的家伙,只是一个简单的应用程序编码爱好者。我的问题不在于它是否可能,而在于它是否可能。从你的回答我看不出你是在轻率无礼还是乐于助人。我推断你对我问的问题的答案是,“不,这是不可能的。”对吗?对不起,我不是想轻率。我还假设你也是一名业余程序员,所以我想试着给出一些关于在这样的平台上工作的观点。重要的是要认识到,任何操作系统都存在很多问题,我们的应用程序并不是唯一的问题。尽管如此,我怀疑这是可能的,这可能是有充分理由的。虽然android是开源的,我相信你可以找到一个ROM来支持它。在这种情况下,谢谢!我将不再浪费时间尝试这样做,而是想出一种不同的方法(可能通过实现我自己的媒体播放器)。Android提供了一个
可视化工具
类,可以从特定音频会话中获取(低质量版本的)音频;如果指定0作为会话ID,它将使用输出混合会话(全局音频输出)。但是请注意,这样做并不能保证适用于所有Android版本和媒体应用程序的组合。谢谢,Michael。我确实看到了这一点,而且我也玩过一些。我只是希望从音频流中获得比Visualizer提供的更详细的信息。