5

我正计划为 android 开发我的特定 voip 应用程序。

场景如下:当有电话呼叫时,我想听到正在本地电脑扬声器上通话的人,并且我想通过我自己的电脑麦克风/耳机与他交谈。所以我需要通过 wlan 网络发送我和我正在与之交谈的人的音频流。

像这样的东西:

...
onCallStateChanged(int state, String phoneNumber){
 while(state == PhoneListener.CALL_STATE_OFFHOOK){ //while phone call is happening
  //send incoming speech via wlan to pc
  //receive audiostream from pc microphone and direct it to the phone call
 }
}
...

当前的Android API可以做到这一点吗?(实际上应该是因为市场上有 voip 应用程序)我在 Android API 中做了一些研究,我发现的只是 AudioManager,它有一个常量命名

public static final int  STREAM_VOICE_CALL; //The audio stream for phone calls 

但我不知道如何使用它,它应该如何让我访问我可以通过网络发送的实际音频流。我该如何做到这一点?

连接将通过 TCP 套接字实现。

4

1 回答 1

2

场景如下:当有电话呼叫时,我想听到正在本地电脑扬声器上通话的人,并且我想通过我自己的电脑麦克风/耳机与他交谈。所以我需要通过 wlan 网络发送我和我正在与之交谈的人的音频流。

混合使用 Android 有什么意义?如果您有本地 PC,并且想要使用本地 PC 进行音频输入/输出,请使用本地 PC 上的 VOIP 应用程序。

像这样:onCallStateChanged()...

这适用于使用内置电话子系统(3G、CDMA 等)的语音呼叫。这与 VOIP 无关。

当前的Android API可以做到这一点吗?

这取决于“这个”是什么。如果“this”是“拦截传入的3G电话并让Android代码处理通话的音频”,那么不,这是不可能的。

于 2010-03-22T13:44:01.913 回答