强制在 Linphone 中仅使用 OPUS 编解码器 Android
Force using just OPUS codec in Linphone Android
如何在 linphone 中强制只使用 Opus Codec?
LinphoneManager.java 或其他地方(如 LinphoneCore 中)是否有更改编解码器设置的设置?
我在 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);
您可以使用这样的函数:
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")
您还可以在 linphonerc 文件中启用 OPUS:
[audio_codec_0]
mime=OPUS
rate=8000
enabled=1
但您必须明确禁用其他编解码器。
如何在 linphone 中强制只使用 Opus Codec? LinphoneManager.java 或其他地方(如 LinphoneCore 中)是否有更改编解码器设置的设置?
我在 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);
您可以使用这样的函数:
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")
您还可以在 linphonerc 文件中启用 OPUS:
[audio_codec_0]
mime=OPUS
rate=8000
enabled=1
但您必须明确禁用其他编解码器。