通话中编辑语音 - 安卓

6

我是Android开发的新手,我已经搜索了这个问题,但我没有找到答案。

我想知道在Android中是否有编辑声音通话的能力?

我的意思是我想添加噪音或更改呼叫者的声音,是否可以更改通话中的声音或添加新声音?


无法在应用层完成该操作。 - 3h3
Android 应用程序无法访问通话音频流。 [AudioManager.STREAM_VOICE_CALL] (http://developer.android.com/reference/android/media/AudioManager.html#STREAM_VOICE_CALL) - Maveňツ
无法在应用层完成该操作。 - fuelusumar
2个回答

6

简而言之:答案还没有。


并不是我们一直在等待。我能找到的第一个条目是2009年7月31日,第3434号问题,截至今天(2015年5月13日),它仍未被分配。 enter image description here

当你不能进行低延迟时,实际上很难处理低延迟项目、音频录制和变声器。

并不是说没有任何解决方法,你可以模拟通话,并添加语音效果(建立自己的拨号器,并使用它),但让我警告你:当涉及实时应用程序时,你可能不会有任何良好的性能。没有低延迟意味着在音频记录方面没有效率。

那么你只能等待。


如果我自己构建拨号器,如何访问语音?这是可访问的吗? - Efrain Sanjay Adhikary

4
您的问题部分取决于您使用的模型。前提条件是:
  1. 您只想将一些噪音注入到您的传出音频流中,而不是传入音频流。
  2. 您可能使用第三方VoIP应用程序进行电话呼叫。
或者简单地说,您只想让对方听到一些修改过的声音。这是可行的。
在Android平台上,普通的本机电话应用程序使用“Android音频系统模块”在框架中,供应商提供的音频库和Linux ALSA音频库来传输/接收音频数据。这些.so和.a文件通常处于只读模式,用户无法覆盖它们,因此无法将数据注入到此数据链中。
但是,如果您使用VoIP应用程序进行电话呼叫,则可以更多地操作数据。一些VoIP应用程序可以提供真实的电话号码,例如Fongo,您可以接收该号码的电话,呼叫者不知道您正在使用VoIP应用程序讲话。
因此,如果我被指派执行此项目,以下是我的步骤:
  1. 找到一个可用且开源的Android VoIP客户端。
  2. 找到从麦克风采样音频数据的代码,添加代码以操纵原始PCM数据并将结果发送到音频编码器。
  3. 在Android上构建并运行它
  4. 为此VoIP客户端注册或申请电话号码。
  5. 完成。
希望这可以帮助到您。

从技术角度来看,您的答案实际上回答了这个要求,这个答案必须被接受。我认为这个应用程序使用了相同的概念 https://play.google.com/store/apps/details?id=com.telestar.voicechangeip&hl=en - Zax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接