SDK接口说明

1、SDK 初始化及登录登出接口说明

1、接口说明

1.1 接口名称: ECSDK_Initialize

功   能:初始化ECsdk                                                                                                                   

语   法:

int ECSDK_Initialize()

参数说明:

  无。

返回值:

  0 代表初始化成功,非0代表初始化失败。                                                                                                                      

错误码说明:

  无。

注意事项:

  需要在程序初始化的时候,初始化ECsdk。                                                                                                                

头文件:

  ECInterface.h

回调函数指针:

  无

1.2 接口名称: ECSDK_UnInitialize

功   能:注销ECsdk

语   法:

int ECSDK_UnInitialize ()

参数说明:

  无。

返回值:

  0 代表注销sdk成功,非0代表注销失败。

错误码说明:

  无。

注意事项:

  需要在程序退出的时候,注销ECsdk,要在调用Logout接口之后才能调用注销接口                                               

头文件:

  ECInterface.h

回调函数指针:

  无

1.3 接口名称: SetGeneralCallBackFuction

功   能:设置和登录和登出相关的接口回调。                                                                                                

语   法:

void SetGeneralCallBackFuction(ECGeneralCallBackInterface *InitInterface);

参数说明:

  InitInterface

  [in] 指向ECGeneralCallBackInterface 类型的回调函数指针结构体指针。

返回值:

  无

错误码说明:

  无。

注意事项:

  1. 该接口必须在ECSDK_Initialize()接口之前调用,否则sdk会报错。
  2. 传入的InitInterface参数必须是成员、静态或者全局型的变量。

头文件:

  ECInterface.h

回调函数指针:

  无

1.4 接口名称: SetMessageCallBackFunction

功   能:设置IM和群组相关的接口回调。                                                                                                 

语   法:

void SetMessageCallBackFunction(ECMessageCallBackInterface *MessageInterface);

参数说明:

  MessageInterface

  [in] 指向ECMessageCallBackInterface类型的回调函数指针结构体指针。

返回值:

  无

错误码说明:

  无。

注意事项:

  1. 该接口必须在ECSDK_Initialize()接口之前调用,否则sdk会报错。
  2. 传入的MessageInterface参数必须是成员、静态或者全局型的变量。

头文件:

  ECImInterface.h

回调函数指针:

  无

1.5 接口名称: SetVoIPCallBackFuction

功   能:设置点对点音视频相关的接口回调。                                                                                          

语   法:

void SetVoIPCallBackFuction(ECVoipCallBackInterface *VoipInterface);

参数说明:

  VoipInterface

  [in] 指向ECVoipCallBackInterface 类型的回调函数指针结构体指针。

返回值:

  无

错误码说明:

  无。

注意事项:

  1. 该接口必须在ECSDK_Initialize()接口之前调用,否则sdk会报错。
  2. 传入的VoipInterface参数必须是成员、静态或者全局型的变量。

头文件:

  ECVoipinterface.h

回调函数指针:

  无

1.6 接口名称: SetMeetingCallBackFuction

功   能:设置会议相关的接口回调。                                                                                                        

语   法:

void SetMeetingCallBackFuction(ECMeetingCallBackInterface *meetingInterface);

参数说明:

  meetingInterface

  [in] 指向ECMeetingCallBackInterface 类型的回调函数指针结构体指针。

返回值:

  无

错误码说明:

  无。

注意事项:

  1. 该接口必须在ECSDK_Initialize()接口之前调用,否则sdk会报错。
  2. 传入的meetingInterface参数必须是成员、静态或者全局型的变量。

头文件:

  ECMeetingInterface.h

回调函数指针:

  无

1.7 接口名称: Login

功   能:登录的接口。

语   法:

int Login(const ECLoginInfo *loginInfo);

参数说明:

  loginInfo

  [in] 指向ECLoginInfo 类型的结构体指针。

返回值:

  0 代表登录接口调用成功,非0代表登录接口调用失败。此返回值并不代表登录这个动作成功或失败。

错误码说明:

  无。

注意事项:

  该接口必须在ECSDK_Initialize()接口之后调用,否则sdk会报错。

头文件:

  ECInterface.h

回调函数指针:

  onConnectState

1.8 接口名称: Logout

功   能:登出的接口

语   法:

int Logout();

参数说明:

  无

返回值:

   0 代表登出接口调用成功,非0代表登出接口调用失败。此返回值并不代表登录这个动作成功或失败。

错误码说明:

  无。

注意事项:

该接口必须在ECSDK_UnInitialize()接口之前调用,否则sdk会报错。

头文件:

  ECInterface.h

回调函数指针:

  onLogOut

1.9 接口名称: SetTraceFlag

功   能:设置日志文件的接口

语   法:

void SetTraceFlag(int level,const char *logFileName);

参数说明:

  level

 [in] 日志级别,大于0,越大越打印的日志越多越详细,暂时支持最大100

  logFileName

 [in] 底层日志全路径,空为不写日志

返回值:

  无

错误码说明:

  无。

注意事项:

建议该接口必须在Login接口之前调用。

头文件:

  ECInterface.h

回调函数指针:

  无

1.10 接口名称: SetServerEnvType(公有云不支持)

功   能:设置服务器环境地址的类型

语   法:

int SetServerEnvType(int nEnvType,const char *ServerXmlFileName);

参数说明:

  nEnvType

 [in] 地址类型。0表示使用生产环境地址,1代表使用沙盒环境的地址

  ServerXmlFileName

 [in] 输入文件全路径,含配件文件名(可选)。为空时,内部默认当前路径

返回值:

   0 代表设置成功,非0代表设置失败。

错误码说明:

  无。

注意事项:

建议该接口必须在Login接口之前调用。

头文件:

  ECInterface.h

回调函数指针:

  无

1.11 接口名称: SetPersonInfo

功   能:设置个人信息接口

语   法:

int SetPersonInfo(unsigned int *matchKey, ECPersonInfo* pInfo);

参数说明:

  matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  pInfo

 [in]指向ECPersonInfo个人信息结构体的指针。

返回值:

   0 代表设置成功,非0代表设置失败。

错误码说明:

  无。

注意事项:

建议该接口必须在Login接口之前调用。

头文件:

  ECInterface.h

回调函数指针:

  onSetPersonInfo

1.12 接口名称: GetPersonInfo

功   能:获取个人信息。

语   法:

int GetPersonInfo(unsigned int *matchKey, const char* username);

参数说明:

  matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  username

 [in]用户帐号。

返回值:

   0 代表GetPersonInfo接口调用成功,非0代表GetPersonInfo接口调用失败。

错误码说明:

  无。

注意事项:

头文件:

  ECInterface.h

回调函数指针:

  onGetPersonInfo

1.13 接口名称: GetUserState

功   能:获取用户是否在线的接口

语   法:

int GetUserState(unsigned int *matchKey, const char** members, int membercount)

参数说明:

  matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  members

 [in]多人用户帐号。

  membercount

 [in]账号个数

返回值:

   0 代表GetUserState接口调用成功,非0代表GetUserState接口调用失败。

错误码说明:

  无。

注意事项:

头文件:

  ECinterface.h

回调函数指针:

  onGetUserState

2、回调函数指针说明

2.1 函数指针: onLogInfo

功   能:用于接收底层的log信息,调试出现的问题.

语   法:

typedef void (*onLogInfo)(const char* loginfo)

参数说明:

  loginfo

   输出的日志信息。

头文件:

  ECStructDef.h

2.2 函数指针: onLogOut

功   能:登出回调

语   法:

typedef void (*onLogOut)(int reason)

参数说明:

  reason

   200成功,其他报错;

头文件:

  ECStructDef.h

2.3 函数指针: onConnectState

功   能:连接回调

语   法:

typedef void (*onConnectState)(const ECConnectState state )

参数说明:

  state

   输出的登录信息。

头文件:

  ECStructDef.h

2.4 函数指针: onSetPersonInfo

功   能:设置个人信息的结果回调

语   法:

typedef void (*onSetPersonInfo)(unsigned int matchKey, int reason, unsigned long long version)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  version

   个人资料版本号

头文件:

  ECStructDef.h

2.5 函数指针: onGetPersonInfo

功   能:获取个人信息的结果回调

语   法:

typedef void (*onGetPersonInfo)(unsigned int matchKey, int reason, ECPersonInfo *pPersonInfo)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  pPersonInfo

   ECPersonInfo个人信息结构体

头文件:

  ECStructDef.h

2.6 函数指针: onGetUserState

功   能:获取用户是否在线的回调

语   法:

typedef void (*onGetUserState)(unsigned int matchKey, int reason, int count,ECPersonState *pState)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  count

   个数

  pState

   ECPersonState 个人状态信息结构体

头文件:

  ECStructDef.h

3、结构体说明

3.1 结构体: ECGeneralCallBackInterface

功   能:用于接口SetGeneralCallBackFuction使用

参数说明:

    onLogInfo pfonLogInfo; // 用于接收底层的log信息,调试出现的问题.

    onLogOut  pfonLogOut;//登出回调。reason:200成功,其他报错;

    onConnectState pfonConnectState;//连接回调;

    onSetPersonInfo pfonSetPersonInfo;//设置个人资料。reason:200成功,其他报错;version:个人资料版本号

    onGetPersonInfo pfonGetPersonInfo;//获取个人资料。reason:200成功,其他报错;

    onGetUserState pfonGetUserState;//获取用户状态,reason:200成功,其他报错

    onPublishPresence pfonPublishPresence;//发布用户状态,reason:200成功,其他报错

    onReceiveFriendsPublishPresence pfonReceiveFriendsPublishPresence;//发布用户状态,reason:200成功,其他报错

onSoftVersion pfonSoftVersion; //应用软件最新版本号升级提示,供应用自己升级用。softVersion:软件最新版本号;updateMode:更新模式  1:手动更新 2:强制更新;updateDesc:软件更新说明

onGetOnlineMultiDevice pfonGetOnlineMultiDevice; //获得登录者多设备登录状态变化回调,reason:200成功,其他报错count 数组个数,pMultiDeviceStateArr 多设备登录状态数组首指针

onReceiveMultiDeviceState pfonReceiveMultiDeviceState; //收到服务器推送的登录者多设备登录状态变化,count 数组个数,pMultiDeviceStateArr 多设备登录状态数组首指针

头文件:

  ECStructDef.h

3.2 结构体: ECLoginInfo

功   能:用于接口Login使用

参数说明:

    LoginAuthType authType; // 认证类型

    char  *username;//登录用户名,需要第三方用户自己维护

    char  *userPassword;//用户密码字段

    char  *appKey;//用户在云通讯平台生成应用时的appKey

    char  *appToken;//用户在云通讯平台生成应用时的appToken

    char  *timestamp;//用户生成MD5的时间戳 yyyyMMddHHmmss

    char  *MD5Token;//用户生成的MD5值 MD5(appId+userName+timestamp+apptoken)

头文件:

 ECStructDef.h

3.3 结构体: ECConnectState

功   能:用于函数指针onConnectState使用

参数说明:

    ECConnectStateCode code;//连接状态码                                                                                

int reason;//服务器返回错误码

头文件:

  ECStructDef.h

3.4 结构体: ECPersonInfo

功   能:用于函数指针onGetPersonInfo和接口SetPersonInfo使用                                         

参数说明:

    unsigned long long version;// 资料版本号

    int  sex;                   // 性别  1:男  2:女

    char nickName[BUF_LEN_128]; // 用户名字

    char birth[BUF_LEN_20];    // 生日  格式 2015-12-31

    char sign[BUF_LEN_1024];   // 签名

头文件:

  ECStructDef.h

3.5 结构体: ECPersonState

功   能:用于函数指针onGetUserState使用

参数说明:

    char accound[BUF_LEN_128];//账号

    char nickName[BUF_LEN_128];//昵称(Push状态消息有此字段)

    char timestamp[BUF_LEN_20];//服务器时间戳,毫秒数(Push状态消息有此字段)

    char userData[BUF_LEN_4096];//扩展(Push状态消息有此字段)

    int netType;//ECNetWorkType

    int state;//ECStateType

    int subState;//ECSubStateType(Push状态消息有此字段)

    int  device;//终端类型(主动获取回调有此字段) 1: Android Phone 2: iPhone  10: iPad  11: Android Pad  20: PC  (Just Allowed phone 2 PC(Pad) login)

头文件:

  ECStructDef.h

2.IM 接口说明

1.接口说明

1.1 接口名称: SendTextMessage(建议废弃,使用SendTextMessageEX扩展接口)

功   能:发送文本消息和表情消息。

语   法:

SendTextMessage(unsigned int *matchKey,const char *receiver, const char *message, MsgType type, const char *userdata, char * msgId);

参数说明:

  matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  receiver

 [in] 接收者帐号。

  message

  [in]发送的消息内容

  type 

  [in]发送的消息类型,详情见MsgType。

  userdata

  [in] 需要扩展的消息字段放在这里

  msgId

  [out] 发送消息的ID, 需要先申请64字节长度的Buffer,接口会将ID写入到Buffer中。 

返回值:

   0 代表SendTextMessage接口调用成功,非0代表SendTextMessage接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onSendTextMessage

1.2 接口名称: SendTextMessageEX

功   能:发送文本消息和表情消息。

语   法:

int SendTextMessageEX (unsigned int *matchKey,const char *receiver, const char *message, MsgType type, const char *userdata, char * msgId, const char *jsonString);

参数说明:

  matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  receiver

 [in] 接收者帐号。

  message

  [in]发送的消息内容,消息最大长度4096。

  type 

  [in]发送的消息类型,详情见MsgType。

  userdata

  [in]自定义消息字段,可以传送自己定义的消息指令。最大长度为4096

  msgId

  [out] 发送消息的ID, 需要先申请64字节长度的Buffer,接口会将ID写入到Buffer中。

  jsonString

  [in]用户传入,包括群组中被@的成员列表和被@的成员个数 

返回值:

   0 代表SendTextMessageEX接口调用成功,非0代表SendTextMessageEX接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onSendTextMessage

1.3 接口名称: SendMediaMessage

功   能:发送多媒体消息,上传文件。

语   法:

int SendMediaMessage (unsigned int *matchKey,const char* receiver,const char* fileName, MsgType type,const char* userdata,  char * msgId);

参数说明:

  matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  receiver

 [in] 接收者帐号。

  filename

  [in] 附件全路径

  type 

  [in] type消息类型  Msg_Type_Voice:语音消息 Msg_Type_Video:视频消息  Msg_Type_Picture:图片消息 Msg_Type_File:文件

  userdata

  [in]自定义消息字段,可以传送自己定义的消息指令。需要扩展的消息字段放在这里

  msgId

  [out] 发送消息的ID, 需要先申请64字节长度的Buffer,接口会将ID写入到Buffer中。 

返回值:

   0 代表SendMediaMessage接口调用成功,非0代表SendMediaMessage接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onSendMediaFile

1.4 接口名称: DownloadFileMessage

功   能:下载多媒体消息文件。

语   法:

int DownloadFileMessage (unsigned int *matchKey, const char* sender,const char* recv,const char* url, const char* fileName, const char* msgId, MsgType type);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  sender

  [in] 发送者帐号。

  recv

  [in] 接收者帐号。

  url

  [in] 下载url。

  filename

  [in]下载的多媒体文件名称,附件全路径

  type 

  [in]发送的消息类型,详情见MsgType。

  msgId

  [out] 发送消息的ID, 需要先申请64字节长度的Buffer,接口会将ID写入到Buffer中。 

返回值:

   0 代表DownloadFileMessage接口调用成功,非0代表DownloadFileMessage接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onDownloadFileComplete

1.5 接口名称: CancelUploadOrDownloadNOW

功   能:取消正在上传和下载的附件。

语   法:

void CancelUploadOrDownloadNOW(unsigned int matchKey)

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。                                                         

返回值:

   无。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:无

1.6 接口名称: DeleteMessage

功   能:删除消息。

语   法:

int DeleteMessage(unsigned int *matchKey,int type,const char* msgId)

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。                                                                    

  type

  [in] 消息类型。0 删除读过的消息(现只支持删除接收到的消息)

  msgId

  [in]删除消息的ID

返回值:

   0成功,非0失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:onDeleteMessage

1.7 接口名称: WithDrawMessage

功   能:阅后即焚,撤回消息,设置已读

语   法:

int WithDrawMessage(unsigned int *matchKey,const char* msgId,int type)

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。                                                        

  type

  [in]消息类型,0:阅后即焚  1:撤回  3:置为已读

  msgId

  [in]消息ID

返回值:

   0成功,非0失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:onWithDrawMessage

1.8 接口名称: SetTopContact

功   能:设置会话置顶。

语   法:

int SetTopContact(unsigned int *matchKey,const char* contact,bool isTop)

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。                                                                

  contact 

  [in]用户账号

  isTop

  [in]是否置顶

返回值:

   0成功,非0失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:onSetTopContact

1.9 接口名称: GetTopContact

功   能:获取置顶联系人列表。

语   法:

int GetTopContact(unsigned int *matchKey)

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。                                                      

返回值:

   0成功,非0失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:onGetTopContact

1.10 接口名称: CreateGroup

功   能:创建群组。

语   法:

int CreateGroup (unsigned int *matchKey, const char*groupName, int type, const char* province, const char* city, int scope, const char* declared, int permission, int isDismiss, const char* groupDomain, bool isDiscuss);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupName

  [in] 群组名。

  type 

  [in] 群组类型, 1: 同学  2: 朋友 3: 同事

  province

  [in] 省份

  city

  [in] 城市

  scope

  [in]群类型,1:(上限100人) 2:上限300人 3:(上限500人) 4:(上限1000人) 5:(上限2000人)

  declared

  [in]群公告

  permission

  [out] 群组权限,1:直接加入 2:需要身份验证 3:私有群组 

  isDismiss

  [in]创建者退出,群组是否解散 1:不解散 2:解散

  groupDomain

  [in]群备注,用于用户扩展字段

  isDiscuss

  [in]是否讨论组模式

返回值:

   0 代表CreateGroup接口调用成功,非0代表CreateGroup接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onCreateGroup

1.11 接口名称: DismissGroup

功   能:解散群组。

语   法:

int DismissGroup(unsigned int *matchKey, const char* groupid);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupid

  [in]群组id

返回值:

   0代表DismissGroup接口调用成功,非0代表DismissGroup接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onDismissGroup

1.12 接口名称: QuitGroup

功   能:退出群组

语   法:

int QuitGroup(unsigned int *matchKey, const char* groupid)

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupid

  [in]群组id

返回值:

   0代表QuitGroup接口调用成功,非0代表QuitGroup接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onQuitGroup

1.13 接口名称: JoinGroup

功   能:加入群组

语   法:

int JoinGroup(unsigned int *matchKey, const char* groupid, const char* declared);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupid

  [in]群组id

  declared

  [in] 申请加入的理由

返回值:

   0代表JoinGroup接口调用成功,非0代表JoinGroup接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onJoinGroup

1.14 接口名称: ReplyRequestJoinGroup

功   能:回复某人请求加入群组的请求

语   法:

int ReplyRequestJoinGroup(unsigned int *matchKey, const char* groupid, const char* member, int confirm);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupid

  [in]群组id

  member

  [in]申请加入的成员id

  confirm

  [in]是否同意 1拒绝 2同意

返回值:

   0代表ReplyRequestJoinGroup接口调用成功,非0代表ReplyRequestJoinGroup接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onReplyRequestJoinGroup

1.15 接口名称: InviteJoinGroup

功   能:邀请加入群组

语   法:

int InviteJoinGroup(unsigned int *matchKey, const char* groupId, const char* declard, const char** members, int membercount, int confirm);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupid

  [in]群组id

  declard

  [in]邀请理由

  members

  [in]邀请加入的人

  membercount

  [in]邀请的人数

  confirm

  [in]1:直接加入(不需要验证) 2:需要对方验证

返回值:

   0代表InviteJoinGroup接口调用成功,非0代表InviteJoinGroup接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onInviteJoinGroup

1.16 接口名称: ReplyInviteJoinGroup

功   能:回复邀请加入群组请求

语   法:

int ReplyInviteJoinGroup(unsigned int *matchKey, const char* groupid, const char* invitor, int confirm);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupid

  [in]群组id

  invitor

  [in]邀请加入的成员id

  confirm

  [in]是否同意 1拒绝 2同意

返回值:

   0代表ReplyInviteJoinGroup接口调用成功,非0代表ReplyInviteJoinGroup接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onReplyInviteJoinGroup

1.17 接口名称: QueryOwnGroup

功   能:获取自己加入的群组(分页处理)

语   法:

int QueryOwnGroup(unsigned int *matchKey, const char* borderGroupid,int pageSize, int target);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  borderGroupid

  [in]已知页最新群组id

  pageSize

  [in]每页数量(最多50)

  target

  [in]1:获取讨论组 2:获取群组;125 获取全部

返回值:

   0代表QueryOwnGroup接口调用成功,非0代表QueryOwnGroup接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onQueryOwnGroup

1.18 接口名称: QueryGroupDetail

功   能:获取群组详情

语   法:

int QueryGroupDetail(unsigned int *matchKey, const char* groupId);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupId

  [in]群组id

返回值:

   0代表QueryGroupDetail接口调用成功,非0代表QueryGroupDetail接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onQueryGroupDetail

1.19 接口名称: ModifyGroup

功   能:管理员修改群组

语   法:

int ModifyGroup(unsigned int *matchKey, ECModifyGroupInfo* pModifyGroupInfo);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  pModifyGroupInfo

  [in]群组修改数据结构,详情请见ECModifyGroupInfo。

返回值:

   0代表ModifyGroup接口调用成功,非0代表ModifyGroup接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onModifyGroup

1.20 接口名称: SearchPublicGroups

功   能:搜索公共群组

语   法:

int SearchPublicGroups(unsigned int *matchKey, int searchType, const char* keyword);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  searchType

  [in]搜索类型,1:根据GroupId精确搜索 2:根据GroupName模糊搜索。

  keyword

  [in]搜索关键词,如searchType为1,则传入群组ID,如searchType为2,则传入群组名称。

返回值:

   0代表SearchPublicGroups接口调用成功,非0代表SearchPublicGroups接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onSearchPublicGroup

1.21 接口名称: SearchPublicGroupsPaging(分页)

功   能:搜索公共群组(分页)

语   法:

int SearchPublicGroupsPaging(unsigned int *matchKey, int searchType, const char* keyword, int pageNo, int pageSize);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  searchType

  [in]搜索类型,1:根据GroupId精确搜索 2:根据GroupName模糊搜索。

  keyword

  [in]搜索关键词,如searchType为1,则传入群组ID,如searchType为2,则传入群组名称。

  pageNo

  [in]搜索分页搜索。群组名称搜索时,第几页数据 默认为1

  pageSize

  [in]搜索分页大小。群组名称搜索时,每页数据条数,默认为10

返回值:

   0代表SearchPublicGroupsPaging接口调用成功,非0代表SearchPublicGroupsPaging接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onSearchPublicGroupPaging

1.22 接口名称: QueryGroupMember

功   能:获取群组成员(分页处理)

语   法:

int QueryGroupMember(unsigned int *matchKey, const char* groupId, const char* borderMember,int pageSize);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupid

  [in]群组id

  borderMember

  [in]已知页最新成员id

  pageSize

  [in]每页数量(最多50)

返回值:

   0代表QueryGroupMember接口调用成功,非0代表QueryGroupMember接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onQueryGroupMember

1.23 接口名称: DeleteGroupMember

功   能:删除群组成员

语   法:

int DeleteGroupMember(unsigned int *matchKey, const char* groupid, const char* member);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupid

  [in]群组id

  member

  [in]删除的成员

返回值:

   0代表QueryGroupMember接口调用成功,非0代表QueryGroupMember接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onDeleteGroupMember

1.24 接口名称: QueryGroupMemberCard

功   能:查询群组成员详情

语   法:

int QueryGroupMemberCard(unsigned int *matchKey, const char* groupid, const char* member);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupid

  [in]群组id。

  member

  [in]查询的成员id。

返回值:

   0代表QueryGroupMemberCard接口调用成功,非0代表QueryGroupMemberCard接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onQueryGroupMemberCard

1.25 接口名称: ModifyMemberCard

功   能:修改群组成员信息

语   法:

int ModifyMemberCard(unsigned int *matchKey, ECGroupMemberCard *card);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  card

  [in] 成员信息。

返回值:

   0代表ModifyMemberCard接口调用成功,非0代表ModifyMemberCard接口调用失败。

错误码说明:

注意事项:

  只有管理员能够修改成员的信息,群组成员可以修改自己的名片

头文件:

  ECImInterface.h

回调函数指针:

  onModifyGroupMemberCard

1.26 接口名称: ForbidMemberSpeak

功   能:群组成员禁言

语   法:

int ForbidMemberSpeak(unsigned int *matchKey, const char* groupid, const char* member, int isBan);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupid

  [in] 成员所属群组id。

  member

  [in]成员id。

  isBan

  [in] 禁言状态,1:允许发言 2:禁止发言

返回值:

   0代表ForbidMemberSpeak接口调用成功,非0代表ForbidMemberSpeak接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onForbidMemberSpeakGroup

1.27 接口名称: SetGroupMessageRule

功   能:设置群组消息规则

语   法:

int SetGroupMessageRule(unsigned int *matchKey, const char* groupid, bool notice);

参数说明:

  matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupid

  [in]群组id。

  notice

  [in]消息提示设置 true: 提示 false:不提示

返回值:

   0代表SetGroupMessageRule接口调用成功,非0代表SetGroupMessageRule接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onSetGroupMessageRule

1.28 接口名称: StartVoiceRecording

功   能:开始录制语音消息

语   法:

int StartVoiceRecording(const char* fileName,const char* sessionId);

参数说明:

  filename

  [in]录音文件保存的全路径,含后缀名.amr

  sessionId

  [in]透传会话ID,在回调中原封不动返回。可以为NUL

返回值:

   0代表StartVoiceRecording接口调用成功,非0代表StartVoiceRecording接口调用失败。

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onRecordingAmplitude

1.29 接口名称: StopVoiceRecording

功   能:停止播放语音消息

语   法:

void StopVoiceRecording();

参数说明:

  无

返回值:

   无

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onFinishedPlaying

1.30 接口名称: PlayVoiceMsg

功   能:播放语音消息

语   法:

int PlayVoiceMsg(const char* fileName,const char* sessionId);

参数说明:

  filename

  [in]语音文件保存的全路径,含后缀名.amr

  userNameOrGroupid

  [in] 透传会话ID,在回调中原封不动返回。可以为NUL

返回值:

   无

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  无

1.31 接口名称: StopVoiceMsg

功   能:停止播放语音消息

语   法:

void StopVoiceMsg();

参数说明:

   无

返回值:

   无

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onFinishedPlaying

1.32 接口名称: GetVoiceDuration

功   能:获取语音消息时长

语   法:

int GetVoiceDuration(const char* fileName,int *duration);

参数说明:

   无

返回值:

   filename

   [in]语音文件保存的全路径,含后缀名.amr

   Duration

   [in]语音消息播放时长,单位毫秒

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onFinishedPlaying

1.33 接口名称: PrintScreen

功   能:屏幕截图。

语   法:

void PrintScreen(int x, int y, int width, int height);

参数说明:

  x

  [in]截屏时起始x坐标

  Y

  [in] 截屏时起始y坐标

  Width

  [in] 截屏矩形的宽度

  Height

  [in] 截屏矩形的高度

返回值:

   无

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  无

1.34 接口名称: SaveAsPic

功   能:屏幕截图另存为。

语   法:

void SaveAsPic(const char* fileName, const char* filePath, int fileType);

参数说明:

  fileName

  [in] 截屏图片的名称,默认以时间命名

  filePath

  [in] 图片保存路径。默认是用户路径下/jt/目录,可自行指定

  fileType

  [in] 图片保存格式。默认png,支持png、jpg、bmp格式。1:png  2:bmp  3:jpg

返回值:

   无

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  无

1.35 接口名称: SetGroupMemberRole

功   能:设置群组成员权限

语   法:

int SetGroupMemberRole(unsigned int* matchKey, const char* groupId, const char* member, int role);

参数说明:

  matchKey

  [IN] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  groupid

  [IN] 群组id

  member

  [IN] 群成员号

  role

  [IN] 2管理员 3普通成员

返回值:

  0:成功 ; 非0:失败

错误码说明:

注意事项:

  无

头文件:

  ECImInterface.h

回调函数指针:

  onSetGroupMemberRole

2.回调函数指针说明

2.1 函数指针: onOfflineMessageCount

功   能:离线条数回调.

语   法:

typedef void (*onOfflineMessageCount)(int count )

参数说明:

  count

   离线消息条数。

头文件:

  ECImStructDef.h

2.2 函数指针: onGetOfflineMessage

功   能:获取离线消息回调

语   法:

typedef int  (*onGetOfflineMessage)()

参数说明:

//<0 全拉;0 不拉;大于0,只拉取最新的条数,

头文件:

  ECImStructDef.h

2.3 函数指针: onOfflineMessageComplete

功   能:拉取离线成功回调

语   法:

typedef void (*onOfflineMessageComplete)()

参数说明:

   无

头文件:

  ECImStructDef.h

2.4 函数指针: onReceiveOfflineMessage

功   能:离线消息回调

语   法:

typedef void (*onReceiveOfflineMessage)(ECMessage *pMsg)

参数说明:

   pMsg

      ECMessageIM消息结构体

头文件:

  ECImStructDef.h

2.5 函数指针: onReceiveMessage

功   能:实时消息回调

语   法:

typedef void (*onReceiveMessage)(ECMessage *pMsg)

参数说明:

   pMsg

      ECMessageIM消息结构体

头文件:

  ECImStructDef.h

2.6 函数指针: onReceiveFile

功   能:用户收到发送者发送过来的文件等待用户决定是否下载文件的回调。该回调消息的消息类型(MsgType)默认是6

语   法:

typedef void (*onReceiveFile)(ECMessage* pFileInfo)

参数说明:

   pFileInfo

      ECMessageIM消息结构体

头文件:

  ECImStructDef.h

2.7 函数指针: onDownloadFileComplete

功   能:下载文件回调,下载完成后被调用(下载失败也会被调)。reason:200成功,其他报错;offset 内容大小偏移量

语   法:

typedef void (*onDownloadFileComplete)(unsigned int matchKey, int reason, ECMessage *msg)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  msg

   ECMessageIM消息结构体

头文件:

  ECImStructDef.h

2.8 函数指针: onRateOfProgressAttach

功   能:上传下载文件进度

语   法:

typedef void (*onRateOfProgressAttach)(unsigned int matchKey, unsigned int rateSize,unsigned int fileSize,ECMessage *msg)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  ratesize

   已经完成进度大小(字节)。

  filezise

   总文件大小(字节)。

  msg

   ECMessageIM消息结构体

头文件:

  ECImStructDef.h

2.9 函数指针: onSendTextMessage

功   能:发送消息回调

语   法:

typedef void (*onSendTextMessage)(unsigned int matchKey, int reason,ECMessage *msg)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  msg

   ECMessageIM消息结构体

头文件:

  ECImStructDef.h

2.10 函数指针: onSendMediaFile

功   能:上传文件回调,上传完成后被调用(上传失败也会被调)。

语   法:

typedef void (*onSendMediaFile)(unsigned int matchKey, int reason,ECMessage *msg)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  msg

   ECMessageIM消息结构体

头文件:

  ECImStructDef.h

2.11 函数指针:onDeleteMessage

功   能:删除消息回调

语   法:

typedef void (*onDeleteMessage)(unsigned int matchKey, int reason,int type,const char* msgId);

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  type

   透传消息类型

  msgId

   消息id

头文件:

  ECImStructDef.h

2.12 函数指针:onReceiveNoVersionMessage

功   能:实时消息状态回调

语   法:

typedef void (*onReceiveNoVersionMessage)(ECMessage *pMsg);

参数说明:

  pMsg

   ECMessageIM消息结构体

头文件:

  ECImStructDef.h

2.13 函数指针:onReceiveOpreateNoticeMessage

功   能:消息状态通知。

语   法:

typedef void (*onReceiveOpreateNoticeMessage)(ECMessage *pMsg);

参数说明:

  pMsg

   ECMessageIM消息结构体

头文件:

  ECImStructDef.h

2.14 函数指针:onSetTopContact

功   能:设置会话置顶回调

语   法:

typedef void (*onSetTopContact)(unsigned int matchKey, int reason);

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

头文件:

  ECImStructDef.h

2.15 函数指针:onGetTopContact

功   能:获取置顶联系人列表回调

语   法:

typedef void (*onGetTopContact)(unsigned int matchKey, int reason, int count, char** members);

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  count

   置顶联系人个数

  members

   置顶的联系人

头文件:

  ECImStructDef.h

2.16 函数指针:onWithDrawMessage

功   能:消息撤回回调

语   法:

typedef void (*onWithDrawMessage)(unsigned int matchKey, int reason);

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

头文件:

  ECImStructDef.h

2.17 函数指针: onCreateGroup

功   能:创建群组回调。

语   法:

typedef void (*onCreateGroup)(unsigned int matchKey, int reason, ECGroupDetailInfo *pInfo)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  pInfo

   ECGroupDetailInfo群组信息结构体

头文件:

  ECImStructDef.h

2.18 函数指针: onDismissGroup

功   能:解散群组回调。

语   法:

typedef void (*onDismissGroup)(unsigned int matchKey, int reason,const char* groupid)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  groupid

   群组ID。

头文件:

  ECImStructDef.h

2.19 函数指针: onQuitGroup

功   能:退出群组回调。

语   法:

typedef void (*onQuitGroup)(unsigned int matchKey, int reason,const char* groupid)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  groupid

   群组ID。

头文件:

  ECImStructDef.h

2.20 函数指针: onJoinGroup

功   能:加入群组回调。

语   法:

typedef void (*onJoinGroup)(unsigned int matchKey, int reason,const char* groupid)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  groupid

   群组ID。

头文件:

  ECImStructDef.h

2.21 函数指针: onReplyRequestJoinGroup

功   能:回复某人请求加入群组请求的回调。

语   法:

typedef void (*onReplyRequestJoinGroup)(unsigned int matchKey, int reason,const char* groupid,const char* member,int confirm)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  groupid

   群组ID。

  member

   申请加入的成员id

  confirm

   是否同意 1拒绝 2同意

 

头文件:

  ECImStructDef.h

2.22 函数指针: onInviteJoinGroup

功   能:邀请加入群组的回调。

语   法:

typedef void (*onInviteJoinGroup)(unsigned int matchKey, int reason,const char* groupid,const char** members,int membercount,int confirm)

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  groupid

   群组ID。

  members

   邀请加入的人

  membercount

   邀请的人数

  confirm

   1:直接加入(不需要验证) 2:需要对方验证

 

头文件:

  ECImStructDef.h

2.23 函数指针: onReplyInviteJoinGroup

功   能:回复邀请加入群组请求的回调。

语   法:

typedef void (*onReplyInviteJoinGroup)(unsigned int matchKey, int reason,const char* groupid,const char* member,int confirm)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  groupid

   群组ID。

  member

   邀请加入的成员id

  confirm

   是否同意 1拒绝 2同意

 

头文件:

  ECImStructDef.h

2.24函数指针: onQueryOwnGroup

功   能:获取自己加入的群组的回调。

语   法:

typedef void (*onQueryOwnGroup)(unsigned int matchKey, int reason, int count,ECGroupSimpleInfo *group)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  count

   群组个数

  group

   群组信息

 

头文件:

  ECImStructDef.h

2.25 函数指针: onQueryGroupDetail

功   能:查询群组详情的回调。

语   法:

typedef void (*onQueryGroupDetail)(unsigned int matchKey, int reason, ECGroupDetailInfo *detail)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  detail

   群组详情信息

 

头文件:

  ECImStructDef.h

2.26 函数指针: onModifyGroup

功   能:修改群组的回调。

语   法:

typedef void (*onModifyGroup)(unsigned int matchKey, int reason,ECModifyGroupInfo *pInfo)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  pInfo

   ECModifyGroupInfo修改群组的结构体

 

头文件:

  ECImStructDef.h

2.27 函数指针: onSearchPublicGroup

功   能:搜索公共群组的回调。

语   法:

typedef void (*onSearchPublicGroup)(unsigned int matchKey, int reason, int searchType,const char* keyword,int count,ECGroupSearchInfo *group)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  searchType

   搜索类型,1:根据GroupId精确搜索 2:根据GroupName模糊搜索。

  keyword

   搜索关键词,如searchType为1,则传入群组ID,如searchType为2,则传入群组名称。

  count

   群组个数

  group

   ECGroupSearchInfo搜索群组的结构体

头文件:

  ECImStructDef.h

2.28 函数指针: onQueryGroupMember

功   能:查询群组成员的回调。

语   法:

typedef void (*onQueryGroupMember)(unsigned int matchKey, int reason, const char *groupid,int count,ECGroupMember *member)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  groupid

   群组ID。

  count

   群组个数

  member

   ECGroupMember群成员属性的结构体

头文件:

  ECImStructDef.h

2.29 函数指针: onDeleteGroupMember

功   能:删除群组成员的回调。

语   法:

typedef void (*onDeleteGroupMember)(unsigned int matchKey, int reason,const char* groupid,const char* member);

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  groupid

   所属的群组ID。

  member

   成员的帐号ID

头文件:

  ECImStructDef.h

2.30 函数指针: onQueryGroupMemberCard

功   能:查询群组成员详情的回调。

语   法:

typedef void (*onQueryGroupMemberCard)(unsigned int matchKey, int reason, ECGroupMemberCard *card)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  card

   ECGroupMemberCard群成员名片的结构体

头文件:

  ECImStructDef.h

2.31 函数指针: onModifyGroupMemberCard

功 能:管理员修改群组成员信息的回调。
语 法:

typedef void (*onModifyGroupMemberCard)(unsigned int matchKey, int reason,ECGroupMemberCard* pCard)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  pCard

   ECGroupMemberCard群成员名片的结构体

头文件:

  ECImStructDef.h

2.32 函数指针: onForbidMemberSpeakGroup

功   能:群组成员禁言的回调。

语   法:

typedef void (*onForbidMemberSpeakGroup)(unsigned int matchKey, int reason,const char* groupid,const char* member,bool isBan)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  groupid

   群组ID。

  member

   成员的帐号ID

  isBan

   禁言状态,1:允许发言 2:禁止发言

头文件:

  ECImStructDef.h

2.33 函数指针: onSetGroupMessageRule

功   能:设置群组消息规则的回调。

语   法:

typedef void (*onSetGroupMessageRule)(unsigned int matchKey, int reason,const char* groupid, bool notice)

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  groupid

   群组ID。

  notice

   消息提示设置 true 提示 false不提示

头文件:

  ECImStructDef.h

2.34 函数指针:onSetGroupMemberRole

功   能:设置群组成员权限的回调。

语   法:

typedef void (*onSetGroupMemberRole)(unsigned int matchKey, int reason);

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

头文件:

  ECImStructDef.h

2.35 函数指针:onSearchPublicGroupPaging

功   能:搜索公共群组的回调。

语   法:

typedef void (*onSearchPublicGroupPaging)(unsigned int matchKey, int reason, int searchType,const char* keyword,int count,ECGroupSearchInfo *group,int pageNo);

参数说明:

  matchKey

   流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  reason

   200成功。

  searchType

   搜索类型 1根据GroupId,精确搜索 2根据GroupName,模糊搜索;

  keyword

   搜索关键词

  count

   群组个数

  group

   群组详情

  pageNo

   搜索分页索引

头文件:

  ECImStructDef.h

2.36 函数指针: onReceiveGroupNoticeMessage

功   能:服务器下发的群组相关通知。

语   法:

typedef void (*onReceiveGroupNoticeMessage)(const ECGroupNoticeMessage * pMsg)

参数说明:

  pMsg

    ECGroupNoticeMessage群组通知消息的结构体

头文件:

  ECImStructDef.h

2.37 函数指针: onRecordingTimeOut

功   能:录音超时回调。

语   法:

typedef void (*onRecordingTimeOut)(int ms, const char* sessionId)

参数说明:

  ms

为录音时长,单位毫秒

  sessionId

透传会话ID

头文件:

  ECImStructDef.h

2.38 函数指针: onFinishedPlaying

功   能:播放结束回调。

语   法:

typedef void (*onFinishedPlaying)(const char* sessionId,int reason);

参数说明:

  sessionId

透传会话ID

reason

200成功

头文件:

  ECImStructDef.h

2.39 函数指针: onRecordingAmplitude

功   能:音量的振幅回调。

语   法:

typedef void (*onRecordingAmplitude)(double amplitude,const char* sessionId)

参数说明:

  amplitude

录音时振幅范围0-1

  sessionId

透传会话ID

头文件:

  ECImStructDef.h

3.结构体说明

3.1 结构体: ECMessage

功   能:用于函数指针onReceiveOfflineMessage、onReceiveMessage、onReceiveFile、onDownloadFileComplete、onRateOfProgressAttach、onSendTextMessage、onSendMediaFile使用

参数说明:

    MsgType msgType;   //消息类型消息类型 Msg_Type_Text:文本消息 Msg_Type_Voice:语音消息 Msg_Type_Video:视频消息  Msg_Type_Picture:图片消息  Msg_Type_Position:位置消息  Msg_Type_File:文件

    char msgId[BUF_LEN_64];//消息ID

    char dateCreated[BUF_LEN_20];//服务器接收消息时间,毫秒数

    char sender[BUF_LEN_64]; //发送方

    char receiver[BUF_LEN_64]; //点对点时为接收者VoIP、群组消息时为群组ID

    char msgContent[BUF_LEN_4096];//内容

    char userData[BUF_LEN_4096];//扩展

    char senderNickName[BUF_LEN_128];//发送者昵称

    char fileName[BUF_LEN_512];//文件名

    char sessionId[BUF_LEN_64];//会话id

    char fileUrl[BUF_LEN_512];//文件下载地址

    char userDataMsgId[BUF_LEN_64];//userData中传递的消息id

    int  sessionType;//会话类型:0 点对点,1 群组

    unsigned long long fileSize;//文件大小

    unsigned long long  offset;//偏移

    int isAt;//是否被发送者@了

    int type;//消息操作类型  0:阅后即焚  1:撤回  3:置为已读

    int isSave;//是否存储消息,默认1

    int isOfflinePush;//是否离线推送消息,默认1

    int isHint;//是否提示,默认0,不提示

    int isSyncMsg;//多设备同步消息,默认1

    int isReceiveOfflineMsg;//是否是离线消息。默认0,在附件回调onReceiveFile中用于判断是否是离线消息

    char title[BUF_LEN_512];//标题

    char imagePath[BUF_LEN_4096];//网页中图片地址

    char desc[BUF_LEN_4096];//描述

    char url[BUF_LEN_4096];//预览消息网页源地址

    unsigned long long originFileSize;//文件大小

    char* offsetJson;//大文件模式下断块续传串。因为大文件越大,分片越多,这里用指针头文件:

  ECImStructDef.h

3.2 结构体: ECGroupSearchInfo

功   能:用于函数指针onSearchPublicGroup使用

参数说明:

    char groupId[BUF_LEN_33];  //群组ID

    char name[BUF_LEN_128];    //群组名字

    char owner[BUF_LEN_128];   //群组创建者

    char declared[BUF_LEN_512];//群组公告

    int  scope;        //群组规模 1:临时组(上限100人) 2普通组(上限300人)3:普通组(上限500人) 4:付费普通组 (上限1000人) 5:付费VIP组(上限2000人)

    int  permission;   //申请加入模式 1:默认可直接加入  2:需要身份验证    3:私有群组(不能主动加入,仅能管理员邀请)

    int  memberCount;  //群组的成员人数

    char discuss;       //是否是讨论组

头文件:

  ECImStructDef.h

3.3 结构体: ECGroupSimpleInfo

功   能:用于函数指针onQueryOwnGroup使用

参数说明:

    char groupId[BUF_LEN_33];  //群组ID

    char name[BUF_LEN_128];    //群组名字

    char owner[BUF_LEN_128];   //群组创建者

    int  scope;        //群组规模 1:临时组(上限100人) 2普通组(上限300人)3:普通组(上限500人) 4:付费普通组 (上限1000人) 5:付费VIP组(上限2000人)

    int  permission;   //申请加入模式 1:默认可直接加入  2:需要身份验证    3:私有群组(不能主动加入,仅能管理员邀请)

    int  memberCount;  //群组的成员人数

    int  isNotice;     //用来表示是否需要提醒消息。1:提醒;2:不提醒

    char discuss;//是否是讨论组

头文件:

  ECImStructDef.h

3.4 结构体: ECGroupDetailInfo

功   能:用于函数指针onCreateGroup、onQueryGroupDetail使用

参数说明:

    char groupId[BUF_LEN_33];     //群组ID

    char name[BUF_LEN_128];       //群组名字

    char owner[BUF_LEN_128];      //群组创建者

    int  type;            //群组类型 (同学、朋友、同事等)1: 同学  2: 朋友 3: 同事

    char province[BUF_LEN_64];    //群组省份

    char city[BUF_LEN_64];        //群组地区

    int  scope;                 //群组规模 1:临时组(上限100人) 2普通组(上限300人)3:普通组(上限500人) 4:普通组2 (上限1000人) 5:VIP组(上限2000人)

    char declared[BUF_LEN_512];   //群组公告

    char dateCreated[BUF_LEN_20]; //该群组的创建时间

    int  memberCount;     //群组的成员人数

    int  isNotice;        //用来表示是否需要提醒消息。1:提醒;2:不提醒

    int  permission;      //申请加入模式 1:默认可直接加入  2:需要身份验证    3:私有群组(不能主动加入,仅能管理员邀请) 

    char groupDomain[BUF_LEN_512];//群组扩展信息(用于第三方应用传递自己的数据,原样返回)

    char discuss;//是否是讨论组

头文件:

  ECImStructDef.h

3.5 结构体: ECModifyGroupInfo

功   能:用于函数指针onModifyGroup和接口ModifyGroup使用

参数说明:

    char groupId[BUF_LEN_33];     //群组ID

    char name[BUF_LEN_128];       //群组名字

    int  type;            //群组类型 (同学、朋友、同事等)1: 同学  2: 朋友 3: 同事

    char province[BUF_LEN_64];    //群组省份

    char city[BUF_LEN_64];        //群组地区

    int  scope;           //群组规模 1:临时组(上限100人) 2普通组(上限300人)3:普通组(上限500人) 4:付费普通组 (上限1000人) 5:付费VIP组(上限2000人)

    char declared[BUF_LEN_512];   //群组公告

    int  permission;      //申请加入模式 1:默认可直接加入  2:需要身份验证    3:私有群组(不能主动加入,仅能管理员邀请) 

    char groupDomain[BUF_LEN_512];//群组扩展信息(用于第三方应用传递自己的数据,原样返回)

    char discuss;//是否是讨论组

头文件:

  ECImStructDef.h

3.6 结构体: ECGroupMember

功   能:用于函数指针onQueryGroupMember使用

参数说明:

    char member[BUF_LEN_64];  //成员

    char nickName[BUF_LEN_128];//昵称

    int  speakState;  // 是否禁言  1:不禁言  2:禁言

    int  role;        //角色  1:创建者  2:管理员  3:成员                                                                                   

    int  sex ;        //性别 1:男 2:女

头文件:

  ECImStructDef.h

3.7 结构体: ECGroupMemberCard

功   能:用于函数指针onQueryGroupMemberCard和接口ModifyMemberCard使用                               

参数说明:

    char member[BUF_LEN_64];  //成员

    char groupId[BUF_LEN_33]; //群组ID

    char display[BUF_LEN_128];//用户名字

    char phone[BUF_LEN_33];    //用户电话

    char mail[BUF_LEN_128];   //用户邮箱

    char remark[BUF_LEN_512]; //用户备注

    int  speakState;      // 是否禁言  1:不禁言  2:禁言

    int  role;                //角色  1:创建者  2:管理员  3:成员

    int  sex ;                //性别 1:男 2:女

头文件:

  ECImStructDef.h

3.8 结构体: ECRequestJoinGroupNtyMsg

功   能:管理员收到群员加入群组的申请通知,用于函数指针onReceiveGroupNoticeMessage,要通过ECGroupNoticeMessage结构中的枚举ECMessageNoticeCode中NTRequestJoinGroup来使用

参数说明:

    char sender[BUF_LEN_64];//发送通知消息的账号

    char groupId[BUF_LEN_33];//群组ID

    char groupName[BUF_LEN_128];//群组名

    char dateCreated[BUF_LEN_20];//时间戳

    char declared[BUF_LEN_512];//申请理由

    char nickName[BUF_LEN_128];//昵称

    char proposer[BUF_LEN_64];//申请者id

    int confirm;//是否需要管理员确认 1不需要确认 2需要确认

头文件:

  ECImStructDef.h

3.9 结构体: ECInviteJoinGroupNtyMsg

功   能:群员收到管理员加入群组的邀请通知,用于函数指针onReceiveGroupNoticeMessage,要通过ECGroupNoticeMessage结构中的枚举ECMessageNoticeCode中NTInviteJoinGroup来使用

参数说明:

    int confirm;//是否需要对方确认 1不需要确认 2需要确认

    char sender[BUF_LEN_64];//发送通知消息的账号

    char groupId[BUF_LEN_33];//群组ID

    char groupName[BUF_LEN_128];//群组名

    char dateCreated[BUF_LEN_20];//发送消息时间

    char declared[BUF_LEN_512];//邀请理由

    char admin[BUF_LEN_64];//管理员

    char nickName[BUF_LEN_128];//昵称

头文件:

  ECImStructDef.h

3.10 结构体: ECMemberJoinedGroupNtyMsg

功   能:群员收到有新群员加入了群的通知,用于函数指针onReceiveGroupNoticeMessage,要通过ECGroupNoticeMessage结构中的枚举ECMessageNoticeCode中NTMemberJoinedGroup来使用

参数说明:

    char sender[BUF_LEN_64];//发送通知消息的账号

    char groupId[BUF_LEN_33];//群组ID

    char groupName[BUF_LEN_128];//群组名

    char dateCreated[BUF_LEN_20];//发送消息时间

    char member[BUF_LEN_64];//加入者id

    char declared[BUF_LEN_512];//加入理由

    char nickName[BUF_LEN_128];//昵称

头文件:

  ECImStructDef.h

3.11 结构体: ECDismissGroupNtyMsg

功   能:解散群组通知,用于函数指针onReceiveGroupNoticeMessage,要通过ECGroupNoticeMessage结构中的枚举ECMessageNoticeCode中NTDismissGroup来使用

参数说明:

    char sender[BUF_LEN_64];//发送通知消息的账号

    char groupId[BUF_LEN_33];//群组ID

    char groupName[BUF_LEN_128];//群组名

    char dateCreated[BUF_LEN_20];//发送消息时间

头文件:

  ECImStructDef.h

3.12 结构体: ECQuitGroupNtyMsg

功   能:成员退出群组通知,用于函数指针onReceiveGroupNoticeMessage,要通过ECGroupNoticeMessage结构中的枚举ECMessageNoticeCode中NTQuitGroup来使用

参数说明:

    char sender[BUF_LEN_64];//发送通知消息的账号

    char groupId[BUF_LEN_33];//群组ID

    char groupName[BUF_LEN_128];//群组名

    char dateCreated[BUF_LEN_20];//发送消息时间

    char member[BUF_LEN_64];//加入者id

    char nickName[BUF_LEN_128];//昵称

头文件:

  ECImStructDef.h

3.13 结构体: ECRemoveGroupMemberNtyMsg

功   能:踢出成员通知,用于函数指针onReceiveGroupNoticeMessage,要通过ECGroupNoticeMessage结构中的枚举ECMessageNoticeCode中NTRemoveGroupMember来使用

参数说明:

    char sender[BUF_LEN_64];//发送通知消息的账号

    char groupId[BUF_LEN_33];//群组ID

    char groupName[BUF_LEN_128];//群组名

    char dateCreated[BUF_LEN_20];//发送消息时间

    char member[BUF_LEN_64];//移除的成员id

    char nickName[BUF_LEN_128];//昵称

头文件:

  ECImStructDef.h

3.14 结构体: ECReplyRequestJoinGroupNtyMsg

功   能:管理员回复成员申请加入的通知,用于函数指针onReceiveGroupNoticeMessage,要通过ECGroupNoticeMessage结构中的枚举ECMessageNoticeCode中NTReplyRequestJoinGroup来使用

参数说明:

    char sender[BUF_LEN_64];//发送通知消息的账号

    char groupId[BUF_LEN_33];//群组ID

    char groupName[BUF_LEN_128];//群组名

    char dateCreated[BUF_LEN_20];//发送消息时间

    char member[BUF_LEN_64];//加入的成员id

    char admin[BUF_LEN_64];//管理员

    char nickName[BUF_LEN_128];//昵称

    int confirm;//是否同意:1拒绝 2同意

头文件:

  ECImStructDef.h

3.15 结构体: ECReplyInviteJoinGroupNtyMsg

功   能:成员回复管理员邀请加入群的通知,用于函数指针onReceiveGroupNoticeMessage,要通过ECGroupNoticeMessage结构中的枚举ECMessageNoticeCode中NTReplyInviteJoinGroup来使用

参数说明:

    char sender[BUF_LEN_64];//发送通知消息的账号

    char groupId[BUF_LEN_33];//群组ID

    char groupName[BUF_LEN_128];//群组名

    char dateCreated[BUF_LEN_20];//发送消息时间

    char member[BUF_LEN_64];//收到邀请的成员id

    char admin[BUF_LEN_64];//管理员

    char nickName[BUF_LEN_128];//昵称

    int confirm;//是否同意:1拒绝 2同意

头文件:

  ECImStructDef.h

3.16 结构体: ECModifyGroupNtyMsg

功   能:修改群组信息的通知,用于函数指针onReceiveGroupNoticeMessage,要通过ECGroupNoticeMessage结构中的枚举ECMessageNoticeCode中NTModifyGroup来使用

参数说明:

    char sender[BUF_LEN_64];//发送通知消息的账号

    char groupId[BUF_LEN_33];//群组ID

    char groupName[BUF_LEN_128];//群组名

    char dateCreated[BUF_LEN_20];//发送消息时间

    char member[BUF_LEN_64];//修改者id

    char modifyDic[BUF_LEN_1024];//群组修改的信息

头文件:

  ECImStructDef.h

3.17 结构体: ECGroupNoticeMessage

功   能:群组消息通知,用于函数指针onReceiveGroupNoticeMessage使用                                            

参数说明:

    ECMessageNoticeCode notice;//群组消息类型枚举

    void *pNoticeMsg;//通知消息指针

头文件:

  ECImStructDef.h

3.18 结构体: ECChangeMemberRoleMsg

功   能:群组修改成员角色通知

参数说明:

    char sender[BUF_LEN_64];//发送通知消息的账号

    char groupId[BUF_LEN_33];//群组ID

    char groupName[BUF_LEN_128];//群组名

    char dateCreated[BUF_LEN_20];//发送消息时间                                                                                      

    char member[BUF_LEN_64];//修改者id

    char nickName[BUF_LEN_128];//昵称

    int role;//1.群主 2.管理员 3.成员

头文件:

  ECImStructDef.h

3.19 结构体: ECMessageCallBackInterface

功   能:用于接口SetMessageCallBackFunction使用

参数说明:

    onSendTextMessage pfonSendTextMessage;//发送消息回调。reason:200成功,其他报错;

    onReceiveMessage pfonReceiveMessage;//接收新消息回调

    onReceiveOfflineMessage pfonReceiveOfflineMessage;//离线消息回调

    onSendMediaFile pfonSendMediaFile;//上传文件回调,上传完成后被调用(上传失败也会被调)。reason:0成功,其他报错;offset 内容大小偏移量

    onDownloadFileComplete pfonDownloadFileComplete;//下载文件回调,下载完成后被调用(下载失败也会被调)。reason:0成功,其他报错;offset 内容大小偏移量

    onRateOfProgressAttach pfonRateOfProgressAttach;//上传下载文件进度。ratesize 已经完成进度大小(字节);filezise 总文件大小(字节)

    onReceiveFile pfonReceiveFile;//用户收到发送者发送过来的文件等待用户决定是否下载文件的回调。该回调消息的消息类型(MsgType)默认是6

    onOfflineMessageCount pfonOfflineMessageCount;//离线条数

    onGetOfflineMessage pfonGetOfflineMessage;//<0 全拉;0 不拉;大于0,只拉取最新的条数,

    onOfflineMessageComplete pfonOfflineMessageComplete;//拉取离线成功

    onRecordingTimeOut pfnonRecordingTimeOut;//录音超时。ms 为录音时长,单位毫秒,userNameOrGroupid 透传群组ID或个人帐号ID

    onFinishedPlaying pfnonFinishedPlaying;//播放结束,userNameOrGroupid 透传群组ID或个人帐号ID

    onRecordingAmplitude pfnonRecordingAmplitude;//返回音量的振幅。录音时振幅范围0-1,userNameOrGroupid 透传群组ID或个人帐号ID

    onDeleteMessage pfonDeleteMessage; //删除服务端消息。reason:200成功,其他报错;type:透传消息类型;msgId:消息id

    onReceiveNoVersionMessage pfonReceiveNoVersionMessage; //实时消息状态回调

    onReceiveOpreateNoticeMessage pfonReceiveOperateNoticeMessage; //消息状态通知

    onSetTopContact pfonSetTopContact; //设置会话置顶。reason:200成功,其他报错;

    onGetTopContact pfonGetTopContact; //获取置顶联系人列表。reason:200成功,其他报错;

    onWithDrawMessage pfonWithDrawMessage; //消息撤回。reason:200成功,其他报错;

 

    /****************************群组接口对应的回调******************************/

    onCreateGroup pfonCreateGroup;//创建会议回调

    onDismissGroup pfonDismissGroup;//解散会议回调

    onQuitGroup pfonQuitGroup;//退出会议回调

    onJoinGroup pfonJoinGroup;//加入会议回调

    onReplyRequestJoinGroup pfonReplyRequestJoinGroup;//回复某人请求加入群组请求的回调

    onInviteJoinGroup pfonInviteJoinGroup;//邀请加入群组的回调

    onReplyInviteJoinGroup pfonReplyInviteJoinGroup;//回复邀请加入群组请求的回调

    onQueryOwnGroup pfonQueryOwnGroup;//获取自己加入的群组的回调

    onQueryGroupDetail pfonQueryGroupDetail;//查询群组详情的回调

    onModifyGroup pfonModifyGroup;//修改群组回调

    onSearchPublicGroup pfonSearchPublicGroup;//搜索公共群组的回调

    onQueryGroupMember pfonQueryGroupMember;//查询群组成员的回调

    onDeleteGroupMember pfonDeleteGroupMember;//删除群组成员的回调

    onQueryGroupMemberCard pfonQueryGroupMemberCard;//查询群组成员详情的回调

    onModifyGroupMemberCard pfonModifyGroupMemberCard;//管理员修改群组成员信息的回调

    onForbidMemberSpeakGroup pfonForbidMemberSpeakGroup;//群组成员禁言的回调

    onSetGroupMessageRule pfonSetGroupMessageRule;//设置群组消息规则的回调

    onReceiveGroupNoticeMessage pfnonReceiveGroupNoticeMessage;//服务器下发的群组相关通知

    onSetGroupMemberRole pfonSetGroupMemberRole; //设置群组成员权限

    onSearchPublicGroupPaging pfonSearchPublicGroupPaging; //搜索公共群组。matchKey 匹配主调键值;reason:200成功,其他报错;searchType 搜索类型 1根据GroupId,精确搜索 2根据GroupName,模糊搜索; keyword 搜索关键词;count 群组个数;int pageNo 搜索分页索引

头文件:

  ECImStructDef.h

3.点对点音视频接口说明

1.接口说明

1.1接口名称: MakeCallBack

功   能:双向语音呼叫的接口

语   法:

int MakeCallBack (unsigned int *matchKey,const char *caller, const char *called, const char *callerDisplay,const char *calledDisplay);

参数说明:

  matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  caller

  [in] 主叫方号码。根据呼叫类型不同,格式也不同。

  called

  [in] 被叫方号码。根据呼叫类型不同,格式也不同。

  callerDisplay

  [in] 主叫方名称。

  calledDisplay

  [in] 被叫方名称。  

返回值:

   0 代表MakeCallBack接口调用成功,非0代表MakeCallBack接口调用失败。

错误码说明:

注意事项:

  只适用于呼叫落地号码

头文件:

  ECVoipInterface.h

回调函数指针:

  onCallEvents

1.2接口名称: MakeCall

功   能:进行音频、视频或者落地电话呼叫的接口

语   法:

int MakeCall(const char **OutCallid,int callType, const char *called);

参数说明:

  OutCallid

 [out] 此路呼叫的callid。

  callType

 [in] 呼叫类型

   VOICE_CALL 表示语音VoIP电话,VIDEO_CALL表示视频VoIP电话   VOICE_CALL_LANDING表示语音落地电话。

  called 

  [in]被叫方号码。 

返回值:

   0 代表MakeCall接口调用成功,非0代表MakeCall接口调用失败。

错误码说明:

注意事项:

 

头文件:

  ECVoipInterface.h

回调函数指针:

  onCallEvents

1.3接口名称: AcceptCall

功   能:接听音视频呼叫

语   法:

int AcceptCall(const char *callId)

参数说明:

  callId

 [in] 当前呼叫的唯一标识。

返回值:

   0 代表AcceptCall接口调用成功,非0代表AcceptCall接口调用失败。

错误码说明:

注意事项:

 

头文件:

  ECVoipInterface.h

回调函数指针:

  onCallEvents

1.4接口名称: ReleaseCall

功   能:释放当前的音视频呼叫

语   法:

int ReleaseCall(const char *callId, int reason);

参数说明:

  callId

 [in] 当前呼叫的唯一标识。

  reason

 [in] 挂机原因。正常挂机0,取消呼叫0,拒接175603,被叫忙175486

返回值:

   0 代表ReleaseCall接口调用成功,非0代表ReleaseCall接口调用失败。

错误码说明:

注意事项:

 

头文件:

  ECVoipInterface.h

回调函数指针:

  onCallEvents

1.5接口名称: SendDTMF

功   能:发送按键信息

语   法:

int SendDTMF(const char *callId, const char dtmf);

参数说明:

  callId

 [in] 当前呼叫的唯一标识.

  dtmf

 [in] 一个按键值[0123456789*#]

返回值:

   0 代表SendDTMF接口调用成功,非0代表SendDTMF接口调用失败。

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

回调函数指针:

  onDtmfReceived

1.6接口名称: GetCurrentCall

功   能:获取当前呼叫的呼叫ID

语   法:

const char* GetCurrentCall();

参数说明:

 无

返回值:

   成功返回当前呼叫的callId ,失败返回为NULL

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

回调函数指针:

1.7接口名称: EnableLoudsSpeaker

功   能:设置扬声器状态

语   法:

int EnableLoudsSpeaker(bool enable);

参数说明:

 enable

 [in]是否开启

返回值:

   0代表EnableLoudsSpeaker接口调用成功,非0代表调用EnableLoudsSpeaker接口失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.8接口名称: GetLoudsSpeakerStatus

功   能:获取当前扬声器的打开状态

语   法:

bool GetLoudsSpeakerStatus();

参数说明:

返回值:

   true代表扬声器打开,false代表扬声器关闭。

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.9接口名称: SetMute

功   能:通话过程中设置静音,自己能听到对方的声音,通话对方听不到自己的声音。

语   法:

int SetMute(bool mute);

参数说明:

 mute

 [in] true开启,false开启

返回值:

    0代表SetMute接口调用成功,非0代表调用SetMute接口失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.10接口名称: GetMuteStatus

功   能:获取麦克风设备静音状态

语   法:

bool GetMuteStatus();

参数说明:

返回值:

   true代表静音打开,false代表静音关闭。

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.11接口名称: SetAudioConfigEnabled

功   能:设置音频处理的开关

语   法:

int SetAudioConfigEnabled(int type, bool enabled, int mode)

参数说明:

 type

 [in]音频处理类型.  AUDIO_AGC, AUDIO_EC, AUDIO_NS

 enabled

 [in] AGC默认关闭; EC和NS默认开启.

 Mode

 [in]各自对应的模式中的枚举值: AgcMode、EcMode、NsMode.

返回值:

    0代表SetAudioConfigEnabled接口调用成功,非0代表调用SetAudioConfigEnabled接口失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.12接口名称: GetAudioConfigEnabled

功   能:获得音频处理的开关状态

语   法:

int GetAudioConfigEnabled(int type, bool *enabled, int *mode);

参数说明:

 type

 [in]音频处理类型. AUDIO_AGC, AUDIO_EC, AUDIO_NS

 enabled

 [out] AGC默认关闭; EC和NS默认开启.

 mode

 [out]各自对应的模式中的枚举值: AgcMode、EcMode、NsMode.

返回值:

   0代表GetAudioConfigEnabled接口调用成功,非0代表调用GetAudioConfigEnabled接口失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.13接口名称: SetCodecEnabled

功   能:设置支持的编解码方式,默认全部都支持

语   法:

int SetCodecEnabled(int type,bool enabled);

参数说明:

 type

  [in]编解码类型. codec_iLBC,codec_G729,codec_PCMU,codec_PCMA,codec_H264,codec_SILK8K, codec_AMR, codec_VP8, codec_SILK16K, codec_OPUS48, codec_OPUS16, codec_OPUS8

  enabled:

  [in]0 不支持,1 支持

返回值:

    0代表SetCodecEnabled接口调用成功,非0代表调用SetCodecEnabled接口失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.14接口名称: GetCodecEnabled

功   能:获得编解码方式是否被支持

语   法:

bool GetCodecEnabled(int type);

参数说明:

 type

  [in]编解码类型. codec_iLBC,codec_G729,codec_PCMU,codec_PCMA,codec_H264,codec_SILK8K, codec_AMR, codec_VP8, codec_SILK16K, codec_OPUS48, codec_OPUS16, codec_OPUS8

返回值:

   true代表支持该编码,false代表不支持该编码

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.15接口名称: SetCodecNack

功   能:设置媒体流重传。打开后通话质量变好,但是延迟可能增加

语   法:

int SetCodecNack(bool bAudioNack,bool bVideoNack)

参数说明:

 bAudioNack

  [in]音频开关,底层默认true

 bVideoNack

  [in]视频开关,底层默认true

返回值:

   始终返回 0

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.16接口名称: GetCodecNack

功   能:获得媒体流重传当前设置值。

语   法:

int GetCodecNack(bool *bAudioNack,bool *bVideoNack);

参数说明:

 bAudioNack

 [out]音频开关

 bVideoNack

 [out]视频开关

返回值:

   始终返回 0

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.17接口名称: GetCallStatistics

功   能:获取通话中的统计数据

语   法:

int GetCallStatistics(const char *callId, bool bVideo,ECMediaStatisticsInfo *statistics);

参数说明:

 callId

 [in]当前呼叫的唯一标识.

 bVideo

 [in]true 统计视频通话数据,false 统计音频通话数据

 statistics

 [out] ECMediaStatisticsInfo结构的统计数据

返回值:

   0代表GetCallStatistics调用成功 ,非0代表GetCallStatistics调用失败。

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.18接口名称: SetVideoView

功   能:设置视频通话显示。

语   法:

int SetVideoView( void *view, void *localView);

参数说明:

 view

 [in]对方显示视图

 localView

 [in]本地显示视图

返回值:

   0代表SetVideoView调用成功 ,非0代表SetVideoView调用失败。

错误码说明:

注意事项:

在调用makeCall或者AcceptCall之前调用。

头文件:

  ECVoipInterface.h

1.19接口名称: SetVideoBitRates

功   能:设置视频压缩的码流。

语   法:

void SetVideoBitRates(int bitrates);

参数说明:

 [IN] bitrates :  视频码流,单位kb/s

返回值:

   无

错误码说明:

注意事项:

   如果调用,需要在建立视频通话前

头文件:

  ECVoipInterface.h

1.20接口名称: SetRing

功   能:设置本地振铃。当来电时,本地播放振铃音。默认为播放.\\ring.wav

语   法:

int SetRing(const char* fileName);

参数说明:

 filename

 [IN]声音文件,格式为.wav,采样率16000HZ,16bit,单声道

返回值:

   0代表SetRing调用成功 ,非0代表SetRing调用失败。

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.21接口名称: SetRingback

功   能:设置本地回铃音。当外呼VoIP时,本地播放回铃音。默认为播放.\\ringback.wav

语   法:

int SetRingback (const char* fileName);

参数说明:

 filename

 [IN]声音文件,格式为.wav,采样率16000HZ,16bit,单声道

返回值:

   0代表SetRing调用成功 ,非0代表SetRing调用失败。

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.22接口名称: GetCameraInfo

功   能:查询摄像头信息。

语   法:

int GetCameraInfo(ECCameraInfo **  info);

参数说明:

 info

 [in]摄像头信息CameraInfo

返回值:

   0代表GetCameraInfo调用成功 ,非0代表GetCameraInfo调用失败。

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.23接口名称: SelectCamera

功   能:选择摄像头。可以在通话过程中选择;如果不调用,底层将使用系统默认摄像头

语   法:

int SelectCamera(int cameraIndex, int capabilityIndex,int fps,int rotate,bool force);

参数说明:

 cameraIndex

 [in] CameraInfo的index值

 capabilityIndex

 [in] CameraCapability的index值。范围[0,capabilityCount-1]

 fps

 [in]最大帧数      

 rotate

 [in]旋转的角度(enum {ROTATE_AUTO,ROTATE_0,ROTATE_90,ROTATE_180,ROTATE_270};中的值

 force

[in] 是否强制启动本SDK调用的摄像头。默认选false

返回值:

   0代表SelectCamera调用成功 ,非0代表SelectCamera调用失败。

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.24接口名称: GetNetworkStatistic

功   能:获取通话的网络流量信息

语   法:

int GetNetworkStatistic(const char *callId, long long *duration,long long *sendTotalWifi, long long *recvTotalWifi);

参数说明:

 callId

  [in]当前呼叫的唯一标识。会议时,输入会议id

 duration

  [out]媒体交互的持续时间,单位秒,可能为0。不能作为计费结算时长,只是媒体流的统计累积时长;存储8字节

 sendTotalWifi

  [out]在duration时间内,网络发送的总流量,单位字节。存储8字节

 recvTotalWifi:

  [out]在duration时间内,网络接收的总流量,单位字节。存储8字节

返回值:

   0代表GetNetworkStatistic调用成功 ,非0代表GetNetworkStatistic调用失败。

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.25接口名称: SetSpeakerVolume

功   能:设置扬声器音量的默认值

语   法:

int SetSpeakerVolume(unsigned int volume);

参数说明:

 volume

 [in]范围:【0~255】

返回值:

  0:成功  非0:失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.26接口名称: GetSpeakerVolume

功   能:获取扬声器音量的默认值

语   法:

int GetSpeakerVolume(unsigned int* volume);

参数说明:

 volume

 [out]范围:【0~255】

返回值:

  0:成功  非0:失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.27接口名称: SetDtxEnabled

功   能:舒适噪音开关,默认是关闭。关闭后没有舒适噪音,减少带宽

语   法:

void SetDtxEnabled(bool enabled);

参数说明:

 enabled

 [in]true 打开; false 关闭

返回值:

  无

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.28接口名称: SetSelfPhoneNumber

功   能:设置用户虚拟数据 电话号码

语   法:

void SetSelfPhoneNumber(const char * phoneNumber);

参数说明:

 phoneNumber

 [in] 电话号码

返回值:

  无

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.29接口名称: SetSelfName

功   能:设置用户虚拟数据 昵称

语   法:

void SetSelfName(const char * nickName)

参数说明:

 nickName

 [in] 昵称

返回值:

  无

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.30接口名称: RequestSwitchCallMediaType

功   能:更新通话中媒体类型voice <->video

语   法:

int RequestSwitchCallMediaType(const char *callId, int video)

参数说明:

 callId

 [in] 当前呼叫的唯一标识

 video

 [in] 1 添加视频; 0 去除视频

返回值:

  0:成功; 非0失败

错误码说明:

注意事项:

该接口只能在视频通话时才能调用。也就是说在一开始创建的是视频通话,后可以调用该函数转换成音频通话,此时的音频通话还可以调用该函数来切换到视频通话,如果一开始创建的就是音频通话则不可以调用该函数来切换视频通话。另外当从视频切换到音频是不需要对方同意即可转换,但从音频切换到视频时必须要对方调用CCPresponseSwitchCallMediaType接口,并把video置为1才可以,否则转换不成功。

头文件:

  ECVoipInterface.h

回调函数指针:

 对方: onSwitchCallMediaTypeRequest

 本地: onSwitchCallMediaTypeResponse

1.31接口名称: ResponseSwitchCallMediaType

功   能:回复对方的更新通话中媒体类型请求。当音频恢复视频请求时调用,删除视频请求时无效

语   法:

int ResponseSwitchCallMediaType(const char *callId, int video)

参数说明:

 callId

 [in] 当前呼叫的唯一标识

 video

 [in] 1 添加视频; 0 去除视频

返回值:

  0:成功; 非0失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.32接口名称:SetBeautyFilter

功   能:设置美颜处理。支持通话中实时生效

语   法:

int SetBeautyFilter(bool enable);

参数说明:

 enable

 [in] 是否美颜,底层默认非美颜

返回值:

  0:成功; 非0失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

2.回调函数指针说明

2.1 函数指针:onMakeCallBack

功   能:回拨请求.

语   法:

typedef void (*onMakeCallBack)(unsigned int matchKey,int reason,ECCallBackInfo *pInfo)

参数说明:

  matchKey

    匹配键值,与请求函数的键值做匹配,防止多次调用结果无法与请求匹配

  reason

    200成功,其他报错;

头文件:

  ECVoipStructDef.h

2.2函数指针:onCallEvents

功   能:事件状态.

语   法:

typedef void (*onCallEvents)(int reason,const ECVoIPCallMsg * call);

参数说明:

  reason

    事件状态返回值

  call

    ECVoIPCallMsg的结构体指针

头文件:

  ECVoipStructDef.h

2.3函数指针:onCallIncoming

功   能:音视频呼叫接到邀请.

语   法:

typedef void (*onCallIncoming)(ECVoIPComingInfo *pComing); 

参数说明:

  pComing

    ECVoIPComingInfo的结构体指针

头文件:

  ECVoipStructDef.h

2.4函数指针:onDtmfReceived

功   能:收到DTMF按键时的回调.

语   法:

typedef void (*onDtmfReceived)(const char *callId, char dtmf);

参数说明:

  callId

    通话id

  dtmf

    dtmf按键

头文件:

  ECVoipStructDef.h

2.5函数指针:onSwitchCallMediaTypeRequest

功   能:收到对方更新媒体请求.

语   法:

typedef void (*onSwitchCallMediaTypeRequest)(const char*callId,int video);

参数说明:

  callId

    通话id

  video

    1  请求增加视频(需要响应) 0:请求删除视频(可以不响应,底层自动去除视频)

头文件:

  ECVoipStructDef.h

2.6函数指针:onSwitchCallMediaTypeResponse

功   能:对方应答媒体状态结果.

语   法:

typedef void (*onSwitchCallMediaTypeResponse)(const char*callId,int video); 

参数说明:

  callId

    通话id

  video

    1 有视频 0 无视频

头文件:

  ECVoipStructDef.h

2.7函数指针:onRemoteVideoRatio

功   能:远端视频媒体分辨率变化时上报.

语   法:

typedef void (*onRemoteVideoRatio)(const char *CallidOrConferenceId, int width, int height, int type, const char *member)

参数说明:

  CallidOrConferenceId

    type=0 CallidOrConferenceId为通话id,type>0 CallidOrConferenceId为会议id;

  width

    宽

  height

    高

  type

    0 点对点,1 视频会议,2 共享会议;

  member

    成员

  ECVoipStructDef.h

3.结构体说明

3.1 结构体: ECMediaStatisticsInfo

功   能:用于接口GetCallStatistics使用

参数说明:

         unsigned short fractionLost;//上次调用获取统计后这一段时间的丢包率,范围是0~255,255是100%丢失。

    unsigned int cumulativeLost;//开始通话后的所有的丢包总个数

    unsigned int extendedMax;   //开始通话后应该收到的包总个数

    unsigned int jitterSamples; //抖动

    int rttMs;                  //延迟时间,单位是ms

    unsigned int bytesSent;     //开始通话后发送的总字节数

    unsigned int packetsSent;   //开始通话后发送的总RTP包个数

    unsigned int bytesReceived; //开始通话后收到的总字节数

    unsigned int packetsReceived;//开始通话后收到的总RTP包个数

头文件:

  ECVoipStructDef.h

 3.2结构体: ECCameraCapability 

功   能:用于接口ECCameraInfo使用                                                                                                                 

参数说明:

         int width;//宽

    int height;//高

    int maxfps;//最大帧率     

头文件:

  ECVoipStructDef.h 

3.3结构体: ECCameraInfo

功   能:用于接口GetCameraInfo使用

参数说明:

         int index;//摄像头索引

    char name[BUF_LEN_256]; //摄像头名称

    char id[BUF_LEN_256];//摄像头ID

    int capabilityCount;//摄像头能力个数

    ECCameraCapability *capability;//摄像头能力首指针                                                                            

头文件:

  ECVoipStructDef.h 
 

3.4结构体: ECSpeakerInfo

功   能:用于接口使用

参数说明:

         int index;//索引

    char name[BUF_LEN_128];  //utf8 设备名称                                                                                               

    char guid[BUF_LEN_128];   //utf8 设备号

头文件:

  ECVoipStructDef.h 

3.5结构体: ECMicroPhoneInfo

功   能:用于接口使用

参数说明:

         int index;//索引

    char name[BUF_LEN_128];   //utf8 设备名称                                                                                             

    char guid[BUF_LEN_128];    //utf8  设备号

头文件:

  ECVoipStructDef.h 

3.6结构体:ECShareWindowInfo (无)

功   能:用于接口使用

参数说明:

         long long id; // ID

    // Title of the window in UTF-8 encoding.

    char title[BUF_LEN_512]; //标题                                                                                                                      

头文件:

  ECVoipStructDef.h 

3.7结构体: ECVoIPCallMsg

功   能:用于接口onCallEvents使用

参数说明:

         ECVoipEventCode eCode; //事件状态                                                                                                   

    int callType; //通话类型

    char callid[BUF_LEN_64]; //通话ID

    char caller[BUF_LEN_64]; //主叫

    char callee[BUF_LEN_64]; //被叫

头文件:

  ECVoipStructDef.h 
 

3.8结构体: ECVoIPComingInfo 

功   能:用于接口onCallIncoming使用

参数说明:

    int callType; //通话类型

    char callid[BUF_LEN_64];//通话ID

    char caller[BUF_LEN_64];//主叫

    char nickname[BUF_LEN_128];//昵称                                                                                            

    char display[BUF_LEN_20];//显号

头文件:

  ECVoipStructDef.h 

3.9结构体: ECCallBackInfo

功   能:用于接口onMakeCallBack使用

参数说明:

    char caller[BUF_LEN_64];//主叫

    char called[BUF_LEN_64];//被叫

    char callerDisplay[BUF_LEN_20];//主叫显号

    char calledDisplay[BUF_LEN_20];//被叫显号                                                                                           

  1. 头文件:
  ECVoipStructDef.h 

4.会议接口说明

1.接口说明

1.1接口名称: CreateMultimediaMeeting

功   能:创建会议

语   法:

int CreateMultimediaMeeting(unsigned int *matchKey,int  meetingType, const char* meetingName, const char* password, const char* keywords, int voiceMode, int square,bool bAutoJoin,bool autoClose, bool autoDelete);

参数说明:

  matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

 meetingType

 [in]视频会议或音频会议:0是音频;1是视频

 meetingName

 [in]会议名称

 password

 [in]会议密码

 keywords

 [in]会议关键字

 voiceMode

 [in]会议背景音模式 1:无提示音有背景音;2:有提示音有背景音;3:无提示音无背景音;

 square

 [in]会议方数

bAutoJoin

 [in] 创建者创建会议成功后,是否自动加入

 autoClose

 [in] 创建者退出后,是否自动关闭

 autoDelete

 [in] 所有人退出后,是否自动解散video

返回值:

  0代表CreateMultimediaMeeting接口调用成功 ,非0代表CreateMultimediaMeeting接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onCreateMultimediaMeeting

1.2接口名称: JoinMeeting

功   能:加入会议

语   法:

int JoinMeeting(int  meetingType, const char* conferenceId, const char* password);

参数说明:

 meetingType

 [in]视频会议或音频会议:ECMeetingType

 conferenceId

 [in]会议id

 password

 [in]会议密码

返回值:

  0代表JoinMeeting接口调用成功 ,非0代表JoinMeeting接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onJoinMeeting

1.3接口名称: ExitMeeting

功   能:退出会议

语   法:

int ExitMeeting(const char* conferenceId);

参数说明:

 conferenceId

 [in]会议id

返回值:

  0代表ExitMeeting接口调用成功 ,非0代表ExitMeeting接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  无

1.4接口名称: QueryMeetingMembers

功   能:获取会议成员列表

语   法:
int QueryMeetingMembers(unsigned int *matchKey, int meetingType, const char* conferenceId);

参数说明:

 matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

 meetingType

 [in]视频会议或音频会议,详情请见ECMeetingType

 conferenceId

 [in]会议id

返回值:

  0代表QueryMeetingMembers接口调用成功 ,非0代表QueryMeetingMembers接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onQueryMeetingMembers

1.5接口名称: DismissMultiMediaMeeting

功   能:解散会议

语   法:

int DismissMultiMediaMeeting(unsigned int *matchKey, int meetingType, const char* conferenceId);

参数说明:

 matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

 meetingType

 [in]视频会议或音频会议,详情请见ECMeetingType

 conferenceId

 [in]会议id

返回值:

  0代表DismissMultiMediaMeeting接口调用成功 ,非0代表DismissMultiMediaMeeting接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onDismissMultiMediaMeeting

1.6接口名称: QueryMultiMediaMeetings

功   能:获取会议列表

语   法:

int QueryMultiMediaMeetings(unsigned int *matchKey,int meetingType, const char* keywords);

参数说明:

 matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

 meetingType

 [in]视频会议或音频会议,详情请见ECMeetingType

 keywords

 [in] 会议关键字,搜索与关键字相关的会议列表

返回值:

  0代表QueryMultiMediaMeetings接口调用成功 ,非0代表QueryMultiMediaMeetings接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onQueryMultiMediaMeetings

1.7接口名称: InviteJoinMultiMediaMeeting

功   能:邀请加入会议

语   法:

int InviteJoinMultiMediaMeeting(unsigned int *matchKey,const char* conferenceId, const char** members, int membercount, bool blanding,bool isSpeak, bool isListen,const char* disNumber,const char* userdata);

参数说明:

 matchKey

  [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

 conferenceId

  [in]会议id

members

  [in]成员数组

 membercount

  [in]成员数

blanding

 [in]是否是落地邀请

 isSpeak

 [in]是否可讲  false:禁言  true:可讲   默认是可讲

 isListen

  [in]是否可听  false:禁听  true:可听  默认是可听

 disNumber

  [in]邀请电话座机号码或手机号码加入会议时候,显示的邀请方的电话号码

 userdata

  [in]扩展字段,传递自定义的消息或信息。

返回值:

  0代表InviteJoinMultiMediaMeeting接口调用成功 ,非0代表InviteJoinMultiMediaMeeting接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onInviteJoinVoiceMultiMediaMeeting

1.8接口名称: DeleteMemberMultiMediaMeeting

功   能:踢出成员

语   法:

int DeleteMemberMultiMediaMeeting(unsigned int *matchKey, int meetingType, const char* conferenceId, const char* member, bool isVoIP);

参数说明:

 matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

 meetingType

 [in]会议类型

 conferenceId

 [in]会议id

 member

 [in]成员

 isVoIP

 [in]是否是VOIP号码

返回值:

  0代表DeleteMemberMultiMediaMeeting接口调用成功 ,非0代表DeleteMemberMultiMediaMeeting接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onDeleteMemberMultiMediaMeeting

1.9接口名称: PublishVideo

功   能:发布视频

语   法:

int PublishVideo(unsigned int *matchKey, const char* conferenceId);

参数说明:

 matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

 conferenceId

 [in]会议id

返回值:

  0代表PublishVideo接口调用成功 ,非0代表PublishVideo接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onPublishVideo

1.10接口名称: UnpublishVideo

功   能:取消发布视频

语   法:

int UnpublishVideo(unsigned int *matchKey, const char* conferenceId);

参数说明:

 matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

 conferenceId

 [in]会议id

返回值:

  0代表UnpublishVideo接口调用成功 ,非0代表UnpublishVideo接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onUnpublishVideo

1.11接口名称: RequestConferenceMemberVideo

功   能:视频会议中请求某一远端视频

语   法:

int RequestConferenceMemberVideo(const char *conferenceId, const char *conferencePasswd, const char *member, void *videoWindow,int type);

参数说明:

 conferenceId

 [in]所在会议号.

 conferencePasswd

 [in]所在会议密码.可选

 member

 [in]请求远端成员.

 videoWindow

 [in]当成功请求时,展示该成员的窗口.

 type

 [in] 默认摄像头像源,详见ECVideoDataType.

返回值:

  0: 成功

  非0: 失败,具体失败原因如下:

-1remoteSipNo为NULL.

-2本地视频窗口NULL.

-3会议为Id为NULL.

-4会议密码为NULL.

-5自己的Sip号为NULL.

-6会议服务器的ip为NULL.

-7该账户的视频已经成功请求.

-8正在停止当前用户视频流,需要等待.

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onRequestConferenceMemberVideo

1.12接口名称: CancelMemberVideo

功   能:视频会议中停止某一远端视频

语   法:

int CancelMemberVideo(const char *conferenceId, const char *conferencePasswd, const char *member,int type);

参数说明:

 conferenceId

 [in]会议id

 conferencePasswd

 [in]所在会议密码.可选

 member

 [in]请求远端成员.

 type

 [in] 默认摄像头像源,详见ECVideoDataType.

返回值:

   0: 成功

  非0: 失败,具体失败原因如下:

-1remoteSipNo为NULL.

-3会议为Id为NULL.

-4会议密码为NULL.

-5自己的Sip号为NULL.

-6会议服务器的ip为NULL.

-7该账户的视频没有成功请求

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onCancelConferenceMemberVideo

1.13接口名称: ResetVideoConfWindow

功   能:视频会议中重置窗体

语   法:

ResetVideoConfWindow(const char *conferenceId, const char *member, void *newWindow,int type);

参数说明:

 conferenceId

 [in]所在会议id

 member

 [in]需要调整的成员.

 newWindow

 [in]新窗口

 type

 [in] 默认摄像头像源,详见ECVideoDataType.

返回值:

   0: 成功

  非0: 失败,具体失败原因如下:

-1不支持视频

-2Sip号为NULL.

-3newWindow为NULL.

-4找不到该sip号相关的资料

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  无

1.14接口名称: CreateInterphoneMeeting

功   能:创建实时对讲

语   法:
int CreateInterphoneMeeting(unsigned int *matchKey, const char** members, int membercount);

参数说明:

matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

 members

 [in]成员数组

 membercount

 [in]成员数

返回值:

0代表CreateInterphoneMeeting接口调用成功 ,非0代表CreateInterphoneMeeting接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onCreateInterphoneMeeting

1.14接口名称:CreateInterphoneMeetingBackground(支持背景音)

功   能:创建实时对讲(支持背景音开关)

语   法:

int CreateInterphoneMeetingBackground(unsigned int *matchKey, const char** members, int membercount, int voiceMode);

参数说明:

matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

 members

 [in]成员数组

 membercount

 [in]成员数

 voiceMode

 [in] 1、没有提示音有背景音 2、全部提示音 3、无提示音无背景音 缺省2

返回值:

0代表CreateInterphoneMeetingBackground接口调用成功 ,非0代表CreateInterphoneMeetingBackground接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

onCreateInterphoneMeeting

1.15接口名称: ControlInterphoneMic

功   能:控麦

语   法:

int ControlInterphoneMic(unsigned int *matchKey, bool isControl, const char* interphoneId);

参数说明:

 matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

 isControl

 [in]是否控麦

 meetingId

 [in] 会议ID

返回值:

0代表ControlInterphoneMic接口调用成功 ,非0代表ControlInterphoneMic接口失败。

错误码说明:

注意事项:

头文件:

  ECMeetingInterface.h

回调函数指针:

  onControlInterphoneMic

1.16接口名称: AcceptMeeting

功   能:应答会议

语   法:

int AcceptMeeting(ECMeetingComingInfo *pCom)

参数说明:

 pCom

 [in] 会议详情

返回值:

  0:成功; 非0失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.17接口名称: SetMultiMediaMeetingBeforeCreate

功   能:设置创建会议参数(创建会议扩展参数)

语   法:

int SetMultiMediaMeetingBeforeCreate(int callbackmode, const char* serverUserData, const char* reservation)

参数说明:

  callbackmode

  [in] 通知类型 0:不通知

  serverUserData

  [in] 自定义数据

  Reservation

  [in] 此字段为预留字段

返回值:

  0:成功; 非0失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.18接口名称: setMultimediaMeetingBeforeInviteJoin

功   能:设置邀请加入会议参数

语   法:

int setMultimediaMeetingBeforeInviteJoin(const char* serverUserData)

参数说明:

  serverUserData

  [in] 自定义数据

返回值:

  0:成功; 非0失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

1.19接口名称:SetMeetingSpeakListen

功   能:设置会议成员听讲状态

语   法:

int SetMeetingSpeakListen(unsigned int* matchKey, int meetingType, const char* meetingId, const char* member, bool isVoIP, int option);

参数说明:

  matchKey

 [out] 流水号,是匹配主调函数和回调函数的序列号。可以不做处理。

  meetingType

  [in] 会议类型。

  meetingId

  [in] 会议id。

  member

  [in] 成员账号。

  isVoIP

  [in] 是否VoIP账号。

option

  [in] 1、禁言 2、可讲 3、禁听 4、可听

返回值:

  0:成功; 非0失败

错误码说明:

注意事项:

头文件:

  ECVoipInterface.h

回调函数指针:

  onSetMeetingSpeakListen

2.回调函数指针说明

2.1 函数指针:onMeetingInviteIncoming

功   能:会议接到邀请.

语   法:

typedef void (*onMeetingInviteIncoming)(ECMeetingComingInfo *pCome)

参数说明:

  pCome

    ECMeetingComingInfo的结构体指针

头文件:

  ECMeetingStructDef.h

2.2 函数指针: onReceiveInterphoneMeetingMessage

功   能:收到实时对讲里面的通知消息.

语   法:

typedef void (*onReceiveInterphoneMeetingMessage)(ECInterphoneMsg* pInterphoneMsg);

参数说明:

  pInterphoneMsg

    ECInterphoneMsg的结构体指针

头文件:

  ECMeetingStructDef.h

2.3 函数指针: onReceiveVoiceMeetingMessage

功   能:收到语音会议里面的通知消息

语   法:

typedef void (*onReceiveVoiceMeetingMessage)(ECVoiceMeetingMsg* pVoiceMeetingMsg);

参数说明:

  pVoiceMeetingMsg

    ECVoiceMeetingMsg的结构体指针

头文件:

  ECMeetingStructDef.h

2.4 函数指针: onReceiveVideoMeetingMessage

功   能:收到视频会议里面的通知消息

语   法:

typedef void (*onReceiveVideoMeetingMessage)(ECVideoMeetingMsg* pVideoMeetingMsg);

参数说明:

  pVideoMeetingMsg

    ECVideoMeetingMsg的结构体指针

头文件:

  ECMeetingStructDef.h

2.5 函数指针: onCreateMultimediaMeeting

功   能:创建音频、视频会议的回调

语   法:

typedef void (*onCreateMultimediaMeeting)(unsigned int matchKey,int reason, ECMeetingInfo *pInfo);

参数说明:

  matchKey 匹配主调键值;

  reason:200成功,其他报错

  pInfo: ECMeetingInfo结构体

头文件:

  ECMeetingStructDef.h

2.6 函数指针:onJoinMeeting

功   能:主动加入会议的回调

语   法:

typedef void (*onJoinMeeting)(int reason, const char* conferenceId);

参数说明:

  reason:200成功,其他报错;

  conferenceId 会议ID

头文件:

  ECMeetingStructDef.h

2.7 函数指针:onExitMeeting

功   能:退出会议

语   法:

typedef void (*onExitMeeting)(const char* conferenceId);

参数说明:

  conferenceId 会议ID

头文件:

  ECMeetingStructDef.h

2.8 函数指针:onQueryMeetingMembers

功   能:  查询加入会议的成员

语   法:

typedef void (*onQueryMeetingMembers)(unsigned int matchKey, int reason,const char* conferenceId,int count, ECMeetingMemberInfo* pMembers);

参数说明:

  matchKey 匹配主调键值;

  reason:200成功,其他报错;

  conferenceId 会议ID;

  count 成员数组个数

  pMembers 成员数组

头文件:

  ECMeetingStructDef.h

2.9 函数指针:onDismissMultiMediaMeeting

功   能: 解散实时对讲、音频、视频会议的回调

语   法:

typedef void (*onDismissMultiMediaMeeting)(unsigned int matchKey, int reason,const char*conferenceId);

参数说明:

  matchKey 匹配主调键值;

  reason:200成功,其他报错;

  conferenceId 会议ID

头文件:

  ECMeetingStructDef.h

2.10 函数指针: onQueryMultiMediaMeetings

功   能: 查询会议信息的回调

语   法:

typedef void (*onQueryMultiMediaMeetings)(unsigned int matchKey, int reason,int count,ECMeetingInfo* pMeetingInfo);

参数说明:

  matchKey 匹配主调键值;

  reason:200成功,其他报错;

  count 会议数组个数;

  pMeetingInfo 会议数组;

头文件:

  ECMeetingStructDef.h

2.11 函数指针:onDeleteMemberMultiMediaMeeting

功   能:删除会议成员的回调

语   法:

typedef void (*onDeleteMemberMultiMediaMeeting)(unsigned int matchKey, int reason,ECMeetingDeleteMemberInfo *pInfo);

参数说明:

  matchKey 匹配主调键值;

  reason:200成功,其他报错;

  pInfo 会议成员信息

头文件:

  ECMeetingStructDef.h

2.12 函数指针: onInviteJoinMultiMediaMeeting

功   能: 邀请加入会议的回调

语   法:

typedef void (*onInviteJoinMultiMediaMeeting)(unsigned int matchKey, int reason,ECMeetingInviteInfo *pInfo);

参数说明:

  matchKey 匹配主调键值;

  reason:200成功,其他报错;

  pInfo 会议成员信息

头文件:

  ECMeetingStructDef.h

2.13 函数指针: onCreateInterphoneMeeting

功   能: 创建实时对讲会议的回调

语   法:

typedef void (*onCreateInterphoneMeeting)(unsigned int matchKey, int reason, const char* interphoneId);

参数说明:

  matchKey 匹配主调键值;

  reason:200成功,其他报错;

  interphoneId 实时对讲ID

头文件:

  ECMeetingStructDef.h

2.14 函数指针: onExitInterphoneMeeting(建议废弃,用onExitMeeting代替)

功   能: 退出实时对讲

语   法:

typedef void (*onExitInterphoneMeeting)(const char* interphoneId);

参数说明:

  interphoneId 实时对讲ID

头文件:

  ECMeetingStructDef.h

2.15 函数指针: onControlInterphoneMic

功   能:实时对讲抢麦放麦的回调

语   法:

typedef void (*onControlInterphoneMic)(unsigned int matchKey, int reason, const char* controller,const char* interphoneId,bool requestIsControl);

参数说明:

  matchKey 匹配主调键值;

  reason:200成功,其他报错;

  controller 控麦成员;

  interphoneId 实时对讲ID;

  requestIsControl 是否发起控麦

头文件:

  ECMeetingStructDef.h

2.16 函数指针: onPublishVideo

功   能:发布视频的回调

语   法:

typedef void (*onPublishVideo)(unsigned int matchKey, int reason,const char* conferenceId);

参数说明:

  matchKey 匹配主调键值;

  reason:200成功,其他报错;

  conferenceId 会议ID

头文件:

  ECMeetingStructDef.h

2.17 函数指针: onUnpublishVideo

功   能:取消发布视频的回调

语   法:

typedef void (*onUnpublishVideo)(unsigned int matchKey, int reason,const char* conferenceId);

参数说明:

  matchKey 匹配主调键值;

  reason:200成功,其他报错;

  conferenceId 会议ID

头文件:

  ECMeetingStructDef.h

2.18 函数指针: onRequestConferenceMemberVideo

功   能:视频会议时,请求会议成员视频数据

语   法:

typedef void (*onRequestConferenceMemberVideo)(int reason,const char *conferenceId, const char *member,int type);

参数说明:

  reason:(详见Video_Conference_status)

     EC_Video_Conference_status_RequestTimeout = -1,//请求超时

     EC_Video_Conference_status_OK = 0,//请求成功,上报上层,这里自动设置视频窗口

     EC_Video_Conference_status_NotExist,//会议不存在

     EC_Video_Conference_status_UserExclusive,//自己不在会议中

     EC_Video_Conference_status_RequestedUserExclusive,//请求目标不在会议中

     EC_Video_Conference_status_RequestedUserNoVideo//请求目标没有视频

  conferenceId:

     会议ID

  member:

     成员

  Type:(详见ECVideoDataType)

     VideoDataType_Camera   = 1,//摄像头源

     VideoDataType_Data = 2 //数据源

头文件:

  ECMeetingStructDef.h

2.19 函数指针: onCancelConferenceMemberVideo

功   能:视频会议时,取消会议成员视频数据响应

语   法:

typedef void (*onCancelConferenceMemberVideo)(int reason,const char *conferenceId, const char *member,int type);

参数说明:

  reason:(详见Video_Conference_status)

     EC_Video_Conference_status_RequestTimeout = -1,//请求超时

     EC_Video_Conference_status_OK = 0,//请求成功,上报上层,这里自动设置视频窗口

     EC_Video_Conference_status_NotExist,//会议不存在

     EC_Video_Conference_status_UserExclusive,//自己不在会议中

     EC_Video_Conference_status_RequestedUserExclusive,//请求目标不在会议中

     EC_Video_Conference_status_RequestedUserNoVideo//请求目标没有视频

  conferenceId:

     会议ID

  member:

     成员

  Type:(详见ECVideoDataType)

     VideoDataType_Camera   = 1//摄像头源

     VideoDataType_Data = 2 //数据源

头文件:

  ECMeetingStructDef.h

2.20 函数指针:onSetMeetingSpeakListen

功   能:设置会议成员听讲状态的回调

语   法:

typedef void (*onSetMeetingSpeakListen)(unsigned int matchKey, int reason,ECMeetingMemberSpeakListenInfo* pInfo);

参数说明:

  matchKey: 匹配主调键值;

  reason:200成功,其他失败;

  pInfo:详情

头文件:

  ECMeetingStructDef.h

3.结构体说明

3.1 结构体: ECMeetingInviteInfo 

功   能:用于接口onInviteJoinMultiMediaMeeting使用                                                                        

参数说明:

       char Id[BUF_LEN_128]; //会议ID

    char **members; //成员数组

    char *userdata; //自定义数据

    int  memberCount; //members number

    char isSpeak; //0不可讲 1可讲

    char isListen; //0不可听 1可听

头文件:

  ECMeetingStructDef.h

3.2 结构体: ECMeetingDeleteMemberInfo

功   能:用于接口onDeleteMemberMultiMediaMeeting使用                                                                      

参数说明:

         char Id[BUF_LEN_128]; //会议ID

    char member[BUF_LEN_64]; //成员

    int  meetingType; //会议类型

    char isVoIP; //是否VoIP账号。0否,1是

头文件:

  ECMeetingStructDef.h

 3.3 结构体: ECMeetingComingInfo 

功   能:用于接口onMeetingInviteIncoming使用

参数说明:

         int  meetingType;  //会议类型。参考ECMeetingType                                                                         

         char Id[BUF_LEN_128];  //会议ID

         char callid[BUF_LEN_64]; //通话ID

         char caller[BUF_LEN_64];  //主叫

         char nickname[BUF_LEN_128]; //昵称

         char display[BUF_LEN_20]; //显号

    char sdkUserData[BUF_LEN_4096];//扩展

头文件:

  ECMeetingStructDef.h

3.4 结构体: ECInterphoneMsg

功   能:用于接口onReceiveInterphoneMeetingMessage使用

参数说明:

         int var;  //消息类型

         int type;  //权限1:无权限,2:有权限 ECInterphoneMsgType                                                        

         char receiver[BUF_LEN_64]; //接收者

         char interphoneid[BUF_LEN_64]; //实时对讲接入Id

         char from[BUF_LEN_64]; //实时对讲发送端voip号码

         char datecreated[BUF_LEN_20]; //实时对讲的创建时间

         char state[BUF_LEN_64]; //状态

         char userdata[BUF_LEN_1024]; //扩展字符串

         char member[BUF_LEN_64]; //成员变量

头文件:

  ECMeetingStructDef.h

3.5 结构体: ECVoiceMeetingMsg

功   能:用于接口onReceiveVoiceMeetingMessage使用

参数说明:

         int var; //消息类型

         int type; //权限1:无权限,2:有权限 ECMeetingType

         char sender[BUF_LEN_64]; //发送者

         char receiver[BUF_LEN_64]; //接收者

         char chatroomid[BUF_LEN_64]; //语音群聊房间Id

         char forbid[BUF_LEN_8]; //群聊forbid禁言禁听状态,11:可听可讲 10:可听禁言 01:禁听可讲 00:禁听禁言

         char state[BUF_LEN_64]; //状态

         char userdata[BUF_LEN_1024]; //扩展字符串

         char member[BUF_LEN_64]; //成员变量

         char isVoIP; //是否VoIP账号。0否,1是

头文件:

  ECMeetingStructDef.h

3.6 结构体: ECVideoMeetingMsg

功   能:用于接口onReceiveVideoMeetingMessage使用

参数说明:

         int var; //消息类型

         int type; //权限1:无权限,2:有权限

         int videoState; // 1、已发布 2、未发布

         int dataState; // 1、已发布 2、未发布

         char sender[BUF_LEN_64]; //发送者

         char receiver[BUF_LEN_64]; //接收者

         char roomid[BUF_LEN_64]; //视频会议接入Id

         char forbid[BUF_LEN_8]; //群聊forbid禁言禁听状态,11:可听可讲 10:可听禁言 01:禁听可讲 00:禁听禁言

         char state[BUF_LEN_64]; //状态

         char userdata[BUF_LEN_1024]; //扩展字符串

         char member[BUF_LEN_64]; //成员变量

         char isVoIP; //是否VoIP账号。0否,1是

头文件:

  ECMeetingStructDef.h

3.7 结构体: ECMeetingMemberInfo

功   能:用于接口onQueryMeetingMembers使用

参数说明:

         int meetingType;                //会议类型。参考ECMeetingType

         int type;  // 1、参与者  2、创建者

         int videoState; // 1、已发布 2、未发布  视频会议有效

         int dataState; // 1、已发布 2、未发布

         char forbid[BUF_LEN_8]; //11,10,01,00分别对应可听可讲

         char member[BUF_LEN_64]; //成员id

         char state[BUF_LEN_64]; //状态

         char userdata[BUF_LEN_1024]; //自定义数据

         char isVoIP; //是否VoIP账号。0否,1是

         char isOnline;  //实时对讲中有效 1未加入实时对讲中 2已加入实时对讲中                                          

         char isMic;  //实时对讲中有效 1未控麦 2已控麦

头文件:

  ECMeetingStructDef.h

 3.8 结构体: ECMeetingInfo

功   能:用于接口onCreateMultimediaMeeting使用

参数说明:

         int  meetingType; //会议类型。参考ECMeetingType

         int  confirm;  // 加入房间是否需要验证 1、不需要 2、需要                                                                

         int  square;  //最大可参会人数

         int  joinedCount;  // 参与人数

         char Id[BUF_LEN_128];  // 会议ID

         char name[BUF_LEN_128];     // 房间名称

         char creator[BUF_LEN_64];   // 创建者

         char keywords[BUF_LEN_128];  // 业务属性,可选字段

头文件:

  ECMeetingStructDef.h

3.9 结构体:ECMeetingMemberSpeakListenInfo

功   能:用于接口onCreateMultimediaMeeting使用

参数说明:

         int   meetingType;//会议类型

         char  Id[BUF_LEN_128];//会议id

         char  member[BUF_LEN_64];//成员

         int   speaklisen ;   //1、禁言 2、可讲 3、禁听 4、可听                                                                        

         bool  isVoIP;//是否voip

头文件:

  ECMeetingStructDef.h

3.10 结构体:ECMeetingMemberStateInfo

功   能:用于接口onCreateMultimediaMeeting使用                                                                                   

参数说明:

         int   meetingType;//会议类型

         char  Id[BUF_LEN_128];//会议id

         char  member[BUF_LEN_64];//成员

         int   authority;//成员

         bool  isVoIP;//是否voip

         char *state;//用户状态

头文件:

  ECMeetingStructDef.h