2017-02-09 20 views
1

Я в настоящее время разрабатываю приложение VoIP Android, а для поддержки VoIP я использую библиотеку с открытым исходным кодом Linphone.Как прагматично установить видеокодек LinphoneCore в Android?

В настоящее время голосовое вызов происходит, но видеозапись не происходит. Проанализировав какое-то время, я узнал, что по умолчанию при загрузке приложения библиотека LinphoneCore использует видеокодек H264.

Но сервер VOIP Asterik настроен на видеокодек VP8. Я не могу изменить видеокодек, который настроен на сервере. Следовательно, из-за несоответствия кодека, видеоданные не идут.

Как я могу установить вручную видеокодек в VP8 из моего приложения в LinphoneCore после загрузки приложения?

ответ

0

Чтобы установить видеокодек в LinphoneCore, что вы можете сделать это, как только ваш LinphoneCore готов, вы можете просто Получить видеокодек 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()); 
      } 
     } 
    } 
} 

Этот метод, вероятно, можно назвать в onResume вашей деятельности

+0

благодарит человека, это то, что я искал – AndroidGuy