簡體   English   中英

如何在Android中實用地將videoCodec設置為LinphoneCore?

[英]How to pragmatically set a videoCodec to LinphoneCore in Android?

我目前正在開發VoIP Android 應用程序,對於 VoIP 支持,我正在使用開源庫Linphone

目前正在進行語音通話,但沒有進行視頻通話。 分析了一陣子,才知道,默認情況下,加載應用程序時,LinphoneCore 庫使用的是H264 視頻編解碼器。

但是 VOIP Asterik 服務器配置了 VP8 視頻編解碼器。 我無法更改在服務器中配置的視頻編解碼器。 因此,由於編解碼器不匹配,視頻數據無法傳輸。

那么,一旦應用程序加載完畢,如何將視頻編解碼器從我的應用程序手動設置為 VP8 到 LinphoneCore?

要將 videoCodec 設置為LinphoneCore ,您可以做的是,一旦您的 LinphoneCore 准備就緒,您就可以檢索它支持的VideoCodec Payload ,然后設置特定的負載並禁用其他負載,如下面的代碼所示。

private void enableVp8Codec () {
    LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
    if (lc != null) {
        PayloadType[] lPayLoadArr = lc.getVideoCodecs();
        for (final PayloadType pt : lPayLoadArr) {
            try {
                if (pt.getMime().equals("VP8")) {
                    lc.enablePayloadType(pt, true);
                } else {
                    lc.enablePayloadType(pt, false);
                }
            } catch (LinphoneCoreException e) {
                Log.e("tag",e.getMessage());
            }
        }
    }
}

您可以在您的 Activity 的onResume中調用此方法

暫無
暫無

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

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