在Android 4.0 ICS中调用audiostream修改

我一直在做一个项目,将大大受益于调用stream修改。 这已被多次表示/认为是不可实现的,因为大多数人认为通话audio的硬件环路完全与设备的主MCU断开。

诸如将audiostream到电话Android之类的问题已经得到答案,指出不可能访问audio。 我同意这从Android API绝对是不可能的,但硬件ACTUALLY是否完全断开是完全不清楚的。

用户“artsylar”的stackoverflow表示,他们能够修改Android OS的“框架层”,将录制的audio插入到通话stream中,这将是一个巨大的进步(请参阅将audio剪辑播放到正在进行的通话中 ,artsylar对所选答案)。 假设artsylar的成功是有效的,那么肯定有办法通过修改框架(我假定Android源中的电话基础框架)来控制调用streamaudio。

基本上,我完全同意从应用程序层修改或控制调用stream是不可能的。 不过,我有兴趣在框架或无线接口层定制Android OS; artsylar似乎已经取得了成功,但在开放性文献中没有解释如何。 鉴于目前Android技术的状况,有没有人可以通过修改核心Android操作系统来澄清以上是否可以控制通话audio,以及实现这一目标的好途径?

我相信对这个问题的最后澄清对于开源社区是非常有价值的。

谢谢!

Solutions Collecting From Web of "在Android 4.0 ICS中调用audiostream修改"

在技​​术上可以在某些平台(例如Qualcomm的MSM8960和APQ8064)上向语音呼叫上行链路注入audio。 支持存在于硬件级别和设备驱动程序级别。 但是为了使这个function可用于普通的应用程序,你必须创build一个定制的Android ROM,你已经在Android的Java层和本地层中添加了所有必要的用户空间部分。

所以简短的回答是:不,没有标准的做法,作为一个应用程序开发人员(不要紧,如果你使用SDK或NDK)。
如果您正在为OEM或其他方式工作,可以构build并刷新自己的Android ROM,则可以向平台供应商索取所需的信息。

这是非常困难的,因为它涉及到在Android操作系统内处理Linux Kernal。

不仅没有API支持,而且安全问题也不允许这样做。

作为软件工程领域的专业人员,尤其是程序员,我们从不假定任何人的发明成功,相关项目在项目正在testing之前是有效的。

在通话期间stream动audio也可能引起智能手机用户和电话服务提供商之间的隐私和安全问题