簡體   English   中英

在SmartPhone上使用RIL音頻進行音頻反饋

[英]Audio feedback using RIL Audio on SmartPhone

我們正在開發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? 有什么建議么?

提前致謝!

反饋意味着您沒有在使用回聲消除(線路和/或聲音,取決於它是否用作揚聲器),或者您正在使用系統中的延遲(抖動緩沖區,網絡,編碼/解碼等) )大於回聲消除器可以處理的范圍。 在錯誤的位置過分增益/削波也會使任何回聲消除器失效(它們不喜歡非線性效果)。

聽起來您只是將音頻轉儲到其他圖層。 SipEk只是pjsip的包裝,但是我想您是通過Microsoft RIL / etc而不是pjmedia進行音頻處理的。 您需要對音頻路徑有充分的了解-在哪里采樣,是否/如何消除聲學/線路回聲,回聲尾巴是什么,如何編碼和打包,如何接收,抖動緩沖,丟失-隱藏,解碼和播放。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM