2014-03-19 30 views
1

我正在开发一个Android应用程序,我希望在通话期间实现语音更改功能。我搜索了很多,我发现它只能使用VOIP如何在通话期间更改通话音调android

我对这项工作的几个问题:

  1. 虽然我发现它只能使用VOIP,但还是让我问一下我的疑问,在一个我们可以改变声音的音高以编程方式调用Rooted或非Rooted移动。

  2. 如果使用VOIP实现,那么我来知道的是,我们要保持这个星号服务器。那么话音改变过程是在星号服务器还是在移动端发生的?

谢谢。

+0

_“我们可以通过编程方式改变在Rooted或Non-rooted移动通话期间的语音音调。”_不,应用程序无法做到这一点。 – Michael

+0

@mark:虽然我认为通话过程中的语音数据包会被封锁(出于安全原因),但请确保查看各种语音呼叫记录器应用程序。他们在通话过程中录音(两种方式)。如果您可以访问语音包,则可以更改语音。 – Sriram

+0

@ Sriram ..谢谢你的回复,是的,我也扔掉了通话记录应用程序,他们正在录制语音投掷麦克风和扬声器的声音,这些应用程序也没有访问语音包。我认为迈克尔是正确的,在android中的GSM或CDMA呼叫期间不可能修改语音。 – mark

回答

2

你可以在服务器端用Asterisk这样做。我不知道您希望自己的应用程序的结构如何,但如果您采用Asterisk的方式,该应用程序将变成电话会议。像这样:

  1. 你叫一个号码(星号服务器)。
  2. 星号服务器拨打所需号码。
  3. 您的语音数据包在服务器上转换并发送到接收器。
  4. 如果您的电信法律不支持它,接收器手机上闪烁的数字必须是Asterisk服务器/交换机。
+0

@Sriram ..我没有得到第四点,请在第四点上点亮。 – mark

+0

Asterisk服务器将作为一个中间人。您呼叫星号服务器,**星号服务器**呼叫目标号码。如果服务器正在呼叫目标号码,则手机上闪烁的号码也将是服务器的号码。现在可以用您的手机(而不是服务器)替换目标手机上闪烁的号码。如果可能或不会由您所在国家或部署地的电信法决定。 – Sriram

+0

@Sriram ...我现在明白了,谢谢你的精彩解释。 – mark