音频编解码参数(IMLib录制语音消息的参数)。

iOS 端:

SDK 由于平台兼容和产品设计,会将音频编码为 AMR 文件发送

1. 其中 RCVoiceMessage 通过以下方法初始化,传入的参数audioData为wave音频原始数据

/**

* 由指定信息创建声音消息实例

*

* @param audioData 音频数据

* @param duration 时长

*/

+ (instancetype)messageWithAudio:(NSData *)audioData duration:(long)duration;

2. SDK 会从上述 audioData 音频提取并编码为 AMR 并转化为 json data发送

具体:将 WAVE 文件数据以 8KHz/单声道(AVNumberOfChannelsKey =1)/位深16(AVLinearPCMBitDepthKey=16)的频率采样,编码为12.2 kbps的 AMR 文件

3. 将 AMR 文件转换为 json 格式发送

综上,如果您使用 IMLib 发送音频,请注意以上参数。

如果默认的RCVoiceMessage音频不能满足您的需求,您可以使用自定义消息,自行完成音频的编解码和消息的显示即可。

自定义消息可以参考:http://blog.rongcloud.cn/?p=514

ps:IMkit 默认使用的录音参数如下,您可以参考:

NSDictionary *settings = @{AVFormatIDKey: @(kAudioFormatLinearPCM),

AVSampleRateKey: @8000.00f,

AVNumberOfChannelsKey: @1,

AVLinearPCMBitDepthKey: @16,

AVLinearPCMIsNonInterleaved: @NO,

AVLinearPCMIsFloatKey: @NO,

AVLinearPCMIsBigEndianKey: @NO};

Android 端:

设置 rc_configuration.xml 里的 7950,iOS 端才可以正常播发。