这里会显示出您选择的修订版和当前版本之间的差别。
即时消息接口_ios [2015/02/08 06:12] gonghuojin [IM能力代理接口] |
即时消息接口_ios [2017/08/23 08:44] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ===== IM能力接口 ===== | ||
- | 目的是提供发送IM的能力接口。支持各种类型的IM消息,并且易于扩展。 | ||
- | |||
- | ---- | ||
- | |||
- | ==== 1. 发送IM消息 ==== | ||
- | |||
- | <code java> | ||
- | /** | ||
- | *函数名: 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); | ||
- | </code> | ||
- | |||
- | ==== 2. 开始录制音频 ==== | ||
- | |||
- | <code java> | ||
- | /** | ||
- | *函数名: Ucs_startVoiceRecord | ||
- | *功 能: 开始录制语音 | ||
- | *参 数: [IN]filePath: 录音文件保存的全路径 | ||
- | *返回值: 是否成功 0:成功; 非0失败 | ||
- | */ | ||
- | UCSCLIENT_API int Ucs_startVoiceRecord(const char *filePath); | ||
- | </code> | ||
- | |||
- | ==== 3. 停止录制语音 ==== | ||
- | |||
- | <code java> | ||
- | /** | ||
- | *函数名: Ucs_stopVoiceRecord | ||
- | *功 能: 停止录制语音 | ||
- | *参 数: 无 | ||
- | *返回值: 是否成功 0:成功; 非0失败 | ||
- | */ | ||
- | UCSCLIENT_API int Ucs_stopVoiceRecord();</code> | ||
- | | ||
- | ==== 4. 播放语音 ==== | ||
- | |||
- | <code java> | ||
- | /** | ||
- | *函数名: Ucs_playVoice | ||
- | *功 能: 播放语音 | ||
- | *参 数: [IN]filePath: 录音文件保存的全路径 | ||
- | *返回值: 是否成功 0:成功; 非0失败 | ||
- | */ | ||
- | UCSCLIENT_API int Ucs_playVoice(const char *filePath);</code> | ||
- | |||
- | ==== 5. 停止播放语音 ==== | ||
- | |||
- | |||
- | <code java> | ||
- | /** | ||
- | *函数名: Ucs_stopVoice | ||
- | *功 能: 停止播放语音 | ||
- | *参 数: 无 | ||
- | *返回值: 是否成功 0:成功; 非0失败 | ||
- | */ | ||
- | UCSCLIENT_API int Ucs_stopVoice(); | ||
- | </code> | ||
- | |||
- | ==== 6. 下载附件API ==== | ||
- | |||
- | |||
- | <code java> | ||
- | /** | ||
- | *函数名: Ucs_downloadFile | ||
- | *功 能: 根据传入的url下载多媒体言文件 | ||
- | *参 数: [IN]downloadInfo: 下载结构体指针,下载url,msgID, type, filePath文件保存路径放到一个结构体中 | ||
- | *返回值: 是否成功 0:成功; 非0失败 | ||
- | */ | ||
- | UCSCLIENT_API int Ucs_downloadFile(UCS_DOWNLOADINFO downloadInfo); | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | ===== IM能力回调接口 ===== | ||
- | |||
- | ---- | ||
- | |||
- | |||
- | ==== 1. 收到IM消息 ==== | ||
- | |||
- | |||
- | <code java> | ||
- | /** | ||
- | *函数名: onReceiveIMessage | ||
- | *功 能: 收到新的IM消息回调 | ||
- | *参 数: [OUT]data: 消息UCS_INSTANTMESSAGE结构体 | ||
- | *返回值: 无 | ||
- | */ | ||
- | void (*onReceiveIMessage)(UCS_INSTANTMESSAGE *data); | ||
- | </code> | ||
- | ==== 2. 发送IM消息 ==== | ||
- | |||
- | |||
- | <code java> | ||
- | /** | ||
- | *函数名: onSendIMessage | ||
- | *功 能: 发送即时消息回调 | ||
- | *参 数: [OUT]data: 消息结构体 | ||
- | * [OUT]reason: 状态值 | ||
- | *返回值: 无 | ||
- | */ | ||
- | void (*onSendIMessage)(int reason, UCS_INSTANTMESSAGE *data); | ||
- | </code> | ||
- | |||
- | ==== 3. 下载IM附件 ==== | ||
- | |||
- | |||
- | <code java> | ||
- | /** | ||
- | *函数名: onDownloadFile | ||
- | *功 能: 下载附件回调 | ||
- | *参 数: [OUT]data: 下载结构体UCS_DOWNLOADINFO首指针 | ||
- | * [OUT]reason: 状态值 | ||
- | *返回值: 无 | ||
- | */ | ||
- | void (*onDownloadFile)(int reason, UCS_DOWNLOADINFO *data); | ||
- | </code> | ||
- | ==== 4. 播放录音结束 ==== | ||
- | |||
- | |||
- | <code java> | ||
- | /** | ||
- | *播放语音结束代理 | ||
- | * @param | ||
- | * @return void | ||
- | */ | ||
- | -(void) onFinishedPlayingVoice | ||
- | </code> | ||
- | |||
- | ==== 5. 停止录音 ==== | ||
- | |||
- | |||
- | <code java> | ||
- | /** | ||
- | *停止录音代理 | ||
- | * @param duration 录制语音的时长 | ||
- | * @return void | ||
- | */ | ||
- | -(void)onStopVoiceRecord: (NSInterger) duration | ||
- | </code> |