【问题标题】:Force using just OPUS codec in Linphone Android在 Linphone Android 中强制使用 OPUS 编解码器
【发布时间】:2015-07-27 20:00:36
【问题描述】:

如何强制在 linphone 中仅使用 Opus 编解码器? 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);

【问题讨论】:

    标签: android codec linphone


    【解决方案1】:

    你可以使用这样的函数:

    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
    

    但您必须明确禁用其他编解码器。

    【讨论】:

    • 我正在使用 linphonerc 只使 PCMA 和 PCMU 为真,但它不起作用你能帮帮我吗?
    猜你喜欢
    • 2020-06-20
    • 2017-08-11
    • 2015-01-18
    • 2020-08-01
    • 2013-07-26
    • 2013-12-31
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    相关资源
    最近更新 更多