1.遇到的问题
今天遇到linphone-android sdk需要解决语音编码问题,需要指定编码。查了下配置,里面没有发现类似的配置。
## Start of factory rc
# This file shall not contain path referencing package name, in order to be portable when app is renamed.
# Paths to resources must be set from LinphoneManager, after creating LinphoneCore.
[net]
mtu=1300
force_ice_disablement=0
[sip]
guess_hostname=1
register_only_when_network_is_up=1
auto_net_state_mon=1
auto_answer_replacing_calls=1
ping_with_options=0
use_cpim=1
[sound]
#remove this property for any application that is not Linphone public version itself
ec_calibrator_cool_tones=1
[video]
displaytype=MSAndroidTextureDisplay
auto_resize_preview_to_keep_ratio=1
[misc]
enable_basic_to_client_group_chat_room_migration=0
enable_simple_group_chat_message_state=0
aggregate_imdn=1
notify_each_friend_individually_when_presence_received=0
[app]
activation_code_length=4
prefer_basic_chat_room=1
[assistant]
xmlrpc_url=https://subscribe.linphone.org:444/wizard.php
[lime]
lime_update_threshold=-1
## End of factory rc
2.解决方法
- 查看linphone安卓端支持的编码
- 查到一个指定编码的方式,之后试了下是可以的
- 根据自己的需要调整参数
//音频部分, 这里增加了一个遍历, 用于设置指定的音频格式.
//h264, no VP8 fixed outgoing call no video.
//音频部分, 这里增加了一个遍历, 用于设置指定的音频格式.
//h264, no VP8 fixed outgoing call no video.
val payloads: Array<PayloadType> = core.audioPayloadTypes
for (i in payloads.indices) {
//Payload:null, VP8/90000/0, A VP8 video encoder using libvpx library., VP8
//Payload:profile-level-id=42801F, H264/90000/0, A H264 encoder based on MediaCodec
API., H264
val pt: PayloadType = payloads[i]
//判断是否指定的音频格式.我这里指定PCMA格式
val goodPayload: Boolean = "PCMA" == pt.mimeType
pt.enable(goodPayload)
}