我一直在从事一个项目,该项目将从调用流修改中获益良多。这已经多次被认为是不可能实现的,因为大多数人认为用于通话中音频的硬件环路与设备的主MCU完全断开。
像Stream audio to a phone call Android这样的问题已经收到了回答,说不可能访问音频。我同意这在Android API中是绝对不可能的,但完全不清楚硬件是否真的完全断开连接。
stackoverflow用户“artsylar”表示,他们能够修改安卓操作系统的“框架层”,将录制的音频注入到呼叫流中,这将是一个巨大的进步(参见Play an audio clip onto an ongoing call,artsylar对所选答案的评论)。假设artsylar的成功是有效的,那么肯定有一种方法可以通过修改框架(我假设Android源代码中的电话基础框架)来控制呼叫流音频。
基本上,我完全同意从应用层修改或控制调用流是不可能的。然而,我对在框架或无线电接口层定制Android操作系统很感兴趣;artsylar似乎取得了成功,但在开放文献中没有解释如何做到这一点。鉴于Android技术的当前状态,是否有人可以澄清以上内容,以确定是否可以通过修改核心Android操作系统来控制呼叫音频,以及实现这一目标的好方法?
我相信,对这个问题的最终澄清对开源社区来说是非常有价值的。
谢谢!
发布于 2013-02-11 05:02:22
在某些平台上(例如高通的MSM8960和APQ8064 ),在语音通话上行链路中插入音频在技术上是可行的。支持存在于硬件级别和设备驱动程序级别。但是要使该功能对普通应用程序可用,您必须创建一个定制的Android ROM,在其中您已经在Android的Java层和本地层中添加了所有必要的用户空间部分。
所以简短的答案是:不,作为一个应用程序开发人员,没有标准的方法来做这件事(无论你是使用SDK还是NDK)。
如果您正在为OEM工作,或者通过其他方式能够构建和刷新您自己的Android ROM,您可能可以通过询问您的平台供应商来获得所需的信息。
发布于 2012-09-29 09:29:25
要做到这一点非常困难,因为它涉及到在Android操作系统中处理Linux内核。
不仅没有API支持,而且安全问题也不允许这样做。
作为软件工程领域的专业人士,尤其是程序员,我们从不假设任何人在发明和相关项目上的成功是有效的,直到项目经过测试。
此外,在呼叫期间流式传输音频可能会引起智能手机用户和电话服务提供商之间的隐私和安全问题
https://stackoverflow.com/questions/10544992
复制相似问题