如何更改Linphone中的默认音频编解码器列表

时间:2015-11-13 10:22:31

标签: linphone

我想设置编解码器G729默认启用。我在StackOverflow上搜索并发现了许多已弃用的解决方案,但现在,它们已不再有效。

我编写了一些临时(可怕)代码,每次启动应用程序时都会设置一个标志。但我想要一个正常的解决方案。

3 个答案:

答案 0 :(得分:2)

要使用G729编解码器,您需要:

  1. 使用G729支持编译linphone,为相应的构建标志签出构建文件
  2. 通过调用enablePayloadType
  3. 更改编解码器列表
  4. 通过将其设置为第一个
  5. 将其设置为优先

答案 1 :(得分:2)

解决方案,强制开启:

try {
    PayloadType ptG729 = LinphoneManager.getLc().findPayloadType("G729");
    LinphoneManager.getLc().enablePayloadType(ptG729, true);
} catch (LinphoneCoreException e) {
    Log.e(e,"Unable to modify status for codec " + "G729");
}

此代码可以添加到LinphoneActivity.java中 例如,要在第一个应用程序启动时调用

protected void onCreate(Bundle savedInstanceState) {
...
    if (LinphonePreferences.instance().getAccountCount() > 0) {
        LinphonePreferences.instance().firstLaunchSuccessful();
    } else {
        startActivityForResult(new Intent().setClass(this, SetupActivity.class), FIRST_LOGIN_ACTIVITY);
//Forced ON  G729
//<<<<<<<<<<<<<<<
    }
...
}

答案 2 :(得分:2)

修改文件:linphonerc

[audio_codec_0]
mime=G729
rate=8000
enabled=1

在iPhone或模拟器上删除您的APP,构建并运行。 你会发现编解码器G729已启用。