在Android 4.0 ICS中调用音频流修改

时间:2012-05-11 03:20:33

标签: android audio native phone-call

我一直致力于一个可以从调用流修改中获益的项目。这已被反复说/假设无法实现,因为大多数人认为通话音频的硬件环路与设备的主MCU完全断开。

Stream audio to a phone call Android这样的问题已收到答案,说明无法访问音频。我同意Android API绝对不可能,但是完全断开硬件ACTUALLY是否完全断开是完全不清楚的。

stackoverflow用户'artsylar'表示他们能够修改Android操作系统的“框架层”,将录制的音频注入呼叫流,这将是一个巨大的进步(参见Play an audio clip onto an ongoing call,artsylar的评论选定的答案)。假设artsylar的成功是有效的,那么肯定有一种方法可以通过修改框架来控制调用流音频(我假设Android源中的电话基础框架)。

基本上,我完全同意从应用程序层修改或控制调用流是不可能的。但是,我有兴趣在框架或无线接口层中自定义Android OS; artsylar似乎取得了成功,但在开放文献中没有解释如何。鉴于Android技术的当前状态,是否有人可以通过修改核心Android操作系统来明确上述内容以确定是否可以控制通话音频,以及实现此目标的良好途径?

我认为对此问题的最终澄清对开源社区具有重要价值。

谢谢!

2 个答案:

答案 0 :(得分:11)

技术上可以在某些平台(例如Qualcomm的MSM8960和APQ8064)上将音频注入语音呼叫上行链路。支持存在于硬件级别和设备驱动程序级别。但是为了使普通应用程序可以使用该功能,您必须创建一个自定义Android ROM,您在Java层和Android本机层中添加了所有必需的用户空间部分。

所以简短的回答是:不,作为应用程序开发人员没有标准的方法(如果您使用SDK或NDK,则无关紧要)。
如果您正在为OEM工作或通过其他方式能够构建和刷新您自己的Android ROM,您可以通过询问您的平台供应商获得所需的信息。

答案 1 :(得分:5)

这很难做到,因为它涉及在Android操作系统中处理Linux Kernal。

不仅没有API支持,而且也不允许出现安全问题。

作为软件工程领域的专业人士,特别是程序员,我们 永远不要假设任何人在发明上取得成功,相关项目在项目测试之前是有效的。

在通话期间流式传输音频可能会引起智能手机用户和电话服务提供商之间的隐私和安全问题