首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SmartPhone上使用RIL音频进行音频反馈

在SmartPhone上使用RIL音频进行音频反馈
EN

Stack Overflow用户
提问于 2009-05-05 11:15:10
回答 1查看 572关注 0票数 1

我们正在使用SIP软电话,当我们从一部电话呼叫到另一部电话时,我们会得到音频反馈。然而,当我们从普通的SIP电话(软件或硬件)呼叫到我们的应用程序时,一切都很好-只有当使用应用程序从一部手机呼叫到另一部手机时。下面是我们用来初始化RIL音频的代码:

代码语言:javascript
复制
    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?有什么建议吗?

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2009-05-13 14:29:10

反馈意味着您没有使用回声消除(线路和/或声学,取决于它是否作为免持话筒工作),或者如果您使用了,则系统中的延迟(抖动缓冲器、网络、编码/解码等)超出了回声消除器所能处理的范围。在错误的地方过度增益/限幅也会破坏任何回声抵消器(他们不喜欢非线性效果)。

听起来你只是想把音频转储到其他层。SipEk只是一个pjsip的包装器,但我假设你是通过Microsoft RIL/etc的东西来做音频的,而不是通过pjmedia。你需要对你的音频路径有一个很好的理解-在哪里采样,如果/如何回声/回声消除,回声尾部是什么,它是如何编码和打包的,如何接收,抖动缓冲,丢失隐藏,以及解码和回放。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/824416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档