===== IM能力接口 ===== 目的是提供发送IM的能力接口。支持各种类型的IM消息,并且易于扩展。 ---- ==== 1. 发送IM消息 ==== /** *发送IM消息 * @param receiver 接收方的Client账号或者是群组id * @param text 发送文本内容。最大长度为500 * @param filePath 发送的附件全路径 * @param msgType 开发者自定义消息类型(1:文本,支持最大文本长度500 2:图片,支持jpg、jpeg、png、bmp格式 3:音频,只支持amr格式 4:视频 10-19:自定义文本 20-29:自定义附件) * @return NSString 消息id */ - (NSString) sendUcsMessage:(NSString*) receiver andText:(NSString*) text andFilePath:(NSString*) filePath andExpandData:( NSInterger ) msgType ==== 2. 开始录制音频 ==== /** *开始录制音频 * @param filePath 保存音频文件的全路径 * @return BOOL YES录制语音成功;NO录制语音失败。 */ - (BOOL*) startVoiceRecord: (NSString*) filePath ==== 3. 停止录制语音 ==== /** *停止录制音频 * @param * @return void */ -(void) stopVoiceRecord ; ==== 4. 播放语音 ==== /** *播放语音 * @param filePath 播放音频文件的全路径 * @return void */ -(void) playVoice :(NSString*) filePath ==== 5. 停止播放语音 ==== /** *停止播放语音 * @param * @return void */ -(void) stopVoice; ==== 6. 获取语音时长 ==== /** *获取语音时长 * @param filePath 音频文件的全路径 * @return long 秒级别的文件时长 */ -(long) getVoiceDuration:(String filePath) ==== 7. 下载附件API ==== /** *下载附件 * @param fileUrl 下载文件的Url * @param filePath 文件保存的本地路径 * @param msgId 接收到消息的id,与UcsMessage相关的消息 * @return void */ - (void) downloadAttached:(NSString*) fileUrl andFilePath:(NSString*) filePath andMsgId:(NSString*) msgId ===== IM能力代理接口 ===== ---- ==== 1. 收到IM消息 ==== /** *收到IM消息代理 * @param reason 收到的消息状态码 * @param msg 消息结构体 * @return void */ -(void)onReceiveUcsMessage:(UCSReason *)reason withMsg:( UCSMessage *)msg ==== 2. 发送IM消息 ==== /** *发送IM消息代理 * @param reason 发送消息的状态码 * @param data 消息结构体 * @return void */ -(void)onSendUcsMessage:(UCSReason*)reason withData:( UCSMessage *)data ==== 3. 下载IM附件 ==== /** *下载IM附件代理 * @param reason 下载IM附件的状态码 * @param filePath 下载IM附件的本地路径 * @param msgId 接收到的消息id * @return void */ -(void)onDownloadAttached: (UCSReason*)reason withFilePath:(NSString*)filePath andMsgId:(NSString*) msgId ==== 4. 播放录音结束 ==== /** *播放语音结束代理 * @param * @return void */ -(void) onFinishedPlayingVoice ==== 5. 停止录音 ==== /** *停止录音代理 * @param duration 录制语音的时长 * @return void */ -(void)onStopVoiceRecord: (NSInterger) duration