android打普通电话时的音频数据是否流经软件层?是否可以被修改

android打普通电话时的音频数据是否流经软件层?是否可以被修改

android打voip电话时,语音数据流肯定是流经软件层的。但是,打普通电话时,RIL却只向GSM模块发了AT指令。至于通话语音数据,好像没有经过RIL吧。我现在想对android打普通电话时的语音数据进行加密,因此必须要截获语音数据,加密之后再放回去。

希望有高手能解答以下几个问题,非常感谢:

1、android打普通电话时,音频数据不流经android软件层的任何一部分吗?也就是说,通话过程中的声音从MIC,到GSM模块,空中传输,再到对方的GSM模块,再到对方的话筒。整个过程中,通话中产生的声音流完全不接触android的软件层?而是从硬件直接到硬件?论文网 

2、android不是有一个audio部分吗?按理说任何声音的输入、输出,不是都要流经audio才对吗?难道打电话的时候例外?

3、android系统中也有电话录音软件,如果电话通话中的声音不流经软件层,那么怎么可能使用软件来录音?

4、android上还有一些通话背景设置软件,接听电话时,自动播放预定的噪音。模拟通话的噪音场景,例如:会议、晚餐、在路上、在雨中、机场、看比赛、音乐会等等。那么,这是不是意味着,通话时的声音数据不仅流经了android软件层,并且还可以在程序中被修改?

暂时不可行的

我的理解如下,未必正确,仅供参考。
声音在编码之前应该是可以获取的,编码是通过硬件来做的,编码以后才到RIL。
------------
通话过程中的声音从MIC,到GSM模块,空中传输,再到对方的GSM模块,再到对方的话筒。
------------
这中间应该还有一个部分,是MIC/话筒和GSM之间,应该是还有一个编解码的过程。如果需要截获语音数据,那应该是在MIC接收到声音这个部分来做的吧。

非常感谢您的答复。但是从回答的内容来看,你的意思是:mic和gsm之间有编解码过程,因此可以在这个中间截取,但是你上面又说了,编码是硬件做的。那整个过程还是没有经过软件层呀,那怎么截取呢?
加入您提到的编解码过程后的数据流如下:
MIC(硬件) ——> 编码(硬件) ——> GSM模块(硬件) ——> 空中传输(硬件) ——> 对方的GSM模块(硬件) ——> 对方的话筒(硬件)
可以看到,整个过程好像都是硬件在起作用啊,没有流经android的软件层,因此无法截取?

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有