这是本文档旧的修订版!
目的是提供发送IM的能力接口。支持各种类型的IM消息,并且易于扩展。
/** *函数名: Ucs_sendInstanceMessage *功 能: 发送即时消息。支持文本消息或者附件消息,text与filePath不能同时为空 *参 数: [IN]receiver: 接收者,接收方的VoIP账号或者是群组Id,不能为NULL * [IN]text: 文本消息内容,text与attached不能同时为NULL * [IN]filePath: 附件文件名称,全路径 * [IN]msgType: 消息类型 * 1:文本,支持最大文本长度500 * 2:图片,支持jpg、jpeg、png、bmp格式 * 3:音频,只支持wav格式 * 4:视频 * 10-19:自定义文本 * 20-29:自定义附件) *返回值: 消息id */ UCSCLIENT_API int Ucs_sendInstanceMessage(const char *receiver, const char *text, char *filePath, const int msgType);
/** *函数名: Ucs_startVoiceRecord *功 能: 开始录制语音 *参 数: [IN]filePath: 录音文件保存的全路径 *返回值: 是否成功 0:成功; 非0失败 */ UCSCLIENT_API int Ucs_startVoiceRecord(const char *filePath);
/** *函数名: Ucs_stopVoiceRecord *功 能: 停止录制语音 *参 数: 无 *返回值: 是否成功 0:成功; 非0失败 */ UCSCLIENT_API int Ucs_stopVoiceRecord();
/** *函数名: Ucs_playVoice *功 能: 播放语音 *参 数: [IN]filePath: 录音文件保存的全路径 *返回值: 是否成功 0:成功; 非0失败 */ UCSCLIENT_API int Ucs_playVoice(const char *filePath);
/** *停止播放语音 * @param * @return void */ -(void) stopVoice;
/** *获取语音时长 * @param filePath 音频文件的全路径 * @return long 秒级别的文件时长 */ -(long) getVoiceDuration:(String filePath)
/** *下载附件 * @param fileUrl 下载文件的Url * @param filePath 文件保存的本地路径 * @param msgId 接收到消息的id,与UcsMessage相关的消息 * @return void */ - (void) downloadAttached:(NSString*) fileUrl andFilePath:(NSString*) filePath andMsgId:(NSString*) msgId
/** *收到IM消息代理 * @param reason 收到的消息状态码 * @param msg 消息结构体 * @return void */ -(void)onReceiveUcsMessage:(UCSReason *)reason withMsg:( UCSMessage *)msg
/** *发送IM消息代理 * @param reason 发送消息的状态码 * @param data 消息结构体 * @return void */ -(void)onSendUcsMessage:(UCSReason*)reason withData:( UCSMessage *)data
/** *下载IM附件代理 * @param reason 下载IM附件的状态码 * @param filePath 下载IM附件的本地路径 * @param msgId 接收到的消息id * @return void */ -(void)onDownloadAttached: (UCSReason*)reason withFilePath:(NSString*)filePath andMsgId:(NSString*) msgId
/** *播放语音结束代理 * @param * @return void */ -(void) onFinishedPlayingVoice
/** *停止录音代理 * @param duration 录制语音的时长 * @return void */ -(void)onStopVoiceRecord: (NSInterger) duration