我想設置編解碼器G729默認啓用。我搜索了StackOverflow並發現了許多棄用的解決方案,但現在它們不再有效。如何更改Linphone中的默認音頻編解碼器列表
我寫了一些臨時(可怕的)代碼,每次啓動應用程序時都會設置一個標誌。但我想要一個正常的解決方案。
我想設置編解碼器G729默認啓用。我搜索了StackOverflow並發現了許多棄用的解決方案,但現在它們不再有效。如何更改Linphone中的默認音頻編解碼器列表
我寫了一些臨時(可怕的)代碼,每次啓動應用程序時都會設置一個標誌。但我想要一個正常的解決方案。
修改文件:linphonerc
[audio_codec_0]
mime=G729
rate=8000
enabled=1
刪除您的應用程序在iPhone或模擬器,建立並運行。 你會發現編解碼器G729已啓用。
要使用G729編解碼器,你需要:
的溶液,通過強制打開:
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
//<<<<<<<<<<<<<<<
}
...
}
謝謝,我用過類似的東西。但我希望能夠默認查找編解碼器列表,並對其進行更改。 也許我添加自己的解決方案。 – Severd
要列出編解碼器,只需調用getPayloadTypes() –
據我所知,此函數返回一個「動態」(可更改)列表。但我不明白這個列表是如何第一次生成的。某處必須以某些常量或構建選項的形式指定默認編解碼器。 – Severd