2015-07-26 7 views
2

Как я могу заставить использовать только Opus Codec в linphone? Есть ли настройка в LinphoneManager.java или где-нибудь еще (например, в LinphoneCore) для изменения настроек кодека?Принудительно использовать только OPUS-кодек в Linphone Android

Я нашел этот код в LinphoneManager.java:

enableDisableAudioCodec("speex", 32000, 1, false); 
enableDisableAudioCodec("speex", 16000, 1, false); 
enableDisableAudioCodec("speex", 8000, 1, true); 
enableDisableAudioCodec("iLBC", 8000, 1, false); 
enableDisableAudioCodec("G722", 8000, 1, false); 
enableDisableAudioCodec("G729", 8000, 1, false); 
enableDisableAudioCodec("AMR", 8000, 1, false); 
enableDisableAudioCodec("AMR-WB", 16000, 1, false); 
enableDisableAudioCodec("SILK", 8000, 1, true); 

можно просто удалить этот код и просто поставить это:

enableDisableAudioCodec("OPUS", 8000, 1, true); 

ответ

2

Вы можете использовать функцию следующим образом:

private void enableJustOneAudioCodec(String codecName) { 
    for (PayloadType pt : LinphoneManager.getLc().getAudioCodecs()) { 
     try { 
      if (pt.getMime().equals(codecName)) { 
       LinphoneManager.getLc().enablePayloadType(pt, true); 
      } else { 
       LinphoneManager.getLc().enablePayloadType(pt, false); 
      } 
     } catch (LinphoneCoreException ex) { 
      Log.w(ex,"Unable to modify status for codec " + pt.getMime()); 
     } 
    } 
} 

И затем:

enableJustOneAudioCodec("OPUS") 

Вы также можете включить OPUS в linphonerc файле:

[audio_codec_0] 

mime=OPUS 
rate=8000 
enabled=1 

но вы должны явно отключить другие кодеки.

+0

im использовать linphonerc, чтобы сделать только PCMA и PCMU правдой, но он не работает, можете ли вы мне помочь? –