2017-02-09 28 views
1

我目前正在開發一個VoIP安卓應用,併爲了支持VoIP,我使用的是開源庫Linphone如何在Android中實用地將videoCodec設置爲LinphoneCore?

目前正在進行語音通話,但視頻通話沒有發生。分析了一段時間後,我開始知道,默認情況下,應用程序加載時,LinphoneCore庫使用H264視頻編解碼器。

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

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

回答

0

要設置VIDEOCODEC到LinphoneCore,你可以做的是,一旦你的LinphoneCore是準備好了,你可以檢索VIDEOCODEC有效載荷它支持,然後設置一個特定的有效載荷,並禁止他人在代碼如下所示。

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()); 
      } 
     } 
    } 
} 

這種方法,你可以在的onResume您的活動

+0

感謝的人大概打電話,這就是我一直在尋找 – AndroidGuy

相關問題