我们正在开发 SIP 软电话,当我们从一部电话呼叫另一部电话时,我们会收到音频反馈。但是,当我们从普通的 SIP 电话(软件或硬件)呼叫我们的应用程序时,一切正常 - 只有当使用该应用程序从一部电话呼叫另一部电话时。下面是我们用来初始化 RIL Audio 的代码:
public static void InitRILAudio()
{
IntPtr res;
RILRESULTCALLBACK result = new RILRESULTCALLBACK(f_result);
RILNOTIFYCALLBACK notify = new RILNOTIFYCALLBACK(f_notify);
res = RIL_Initialize(1, result, notify, (0x00010000 | 0x00020000 | 0x00080000), 0, out hRil);
if (res != IntPtr.Zero)
return;
RILAUDIODEVICEINFO audioDeviceInfo = new RILAUDIODEVICEINFO();
audioDeviceInfo.cbSize = 16;
audioDeviceInfo.dwParams = 0x00000003; //RIL_PARAM_ADI_ALL;
audioDeviceInfo.dwRxDevice = 0x00000001; //RIL_AUDIO_HANDSET;
audioDeviceInfo.dwTxDevice = 0x00000001; //RIL_AUDIO_HANDSET;
res = RIL_SetAudioDevices(hRil, audioDeviceInfo);
}
我们将 SipEk ( http://voipengine.googlepages.com/sipeksdk ) 用于 SIP 堆栈。基本上我们只是使用来自 SDK 的回调委托来处理音频内容。有没有其他人遇到过这样的音频反馈循环问题?使用 RIL Audio 还是 SipEk?有什么建议么?
提前致谢!