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


            
2015-08-05 16:58 | 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};


您认为此回答对您有帮助?

共有 14 位开发者认为此问题有帮助

我对此仍有疑问!继续追问