Android平台接入流程

最近更新时间:2018-01-08 15:43:43

查看pdf

1 使用简述

GcloudVoice 客户端SDK可以运行在iOS和Android两个平台并支持Cocos/Unreal/Unity等主流游戏引擎。其在Cocos和Unreal上提供C++接口。本文档描述了JAVA接口使用方法(Android也可以使用C++接口)。

GcloudVoice 客户端SDK目前主要有实时语音(Real-Time)、离线语音(Message)两大功能。实时语音针应用于游戏对局中的实时交流,如MOBA类游戏的实时指挥(王者荣耀、全民超神)、FPS类游戏的指挥(穿越火线-枪战王者)用于弥补手机上输入困难不实时的问题。离线语音主要用于留言消息场景,如大厅的全局聊天(三国之刃)、语音留言(邮件通知)。

同时实时语音还分为国战语音(比如MMORGP里面的国战,御龙国战)以及小队语音(MOBA类里面的对局,王者荣耀的5V5),如果一个房间里面成员小于20人,建议使用小队语音,否则建议使用国战语音,在国战语音中,同时说话人数不得超过5人。

GcloudVoice 客户端SDK接口主要分成三个部分:基本API、实时语音API以及离线语音API。

1.1 系统配置和基本使用

Android SDK 下载
Android Demo 下载

下载Android SDK包后,导入Jar包和SO文件到android工程后。按如下流程即可接入。 主要是导入包

然后通过

初始化java. 再完成初始化以及对应的模式设置

实现和设置回调: 导入回调接口:

实现回调类:

设置回调:

加入房间:

在回调中查看进房的回调结果:

成功后则可以OpenMic OpenSpeaker:

具体流程接口可以照以下文档的详细说明。

1.2 接口调用流程


首先实现IGCloudVoiceNotify回调,然后调用GetVoiceEngine获取IGCloudVoiceNotify对象。然后对该对象进行初始化操作并设置回调。接着再根据需要调用实时语音接口或者离线语音接口,然后在系统可以Tick的地方(如Unity3D的Update)调用Poll驱动处理事务中的回调信息。

1.3 实时语音接口调用流程


在使用实时语音的时候,首先需要调用SetMode方法设置使用实时语音模式。然后根据业务逻辑判断是需要加入小队语音房间或者国战语音房间,分别调用JoinTeamRoom和JoinNationalRoom。

然后需要tick的调用poll来检查回调,当加入房间成功或者失败时,会回调OnJoinRoom方法。

加入房间成功后就可以调用OpenMic打开麦克风进行采集并发送到网络,调用OpenSpeaker打开扬声器开始接受网络上的音频流并自动进行播放。

当需要退出房间时,调用QuitRoom即可,调用成功后会回调OnQuitRoom方法。

注意: 对于国战语音,系统要求说话人数不能超过5个人,每个用户多了一个角色信息,在加入房间的时候需要指定是以听众的身份加入还是以主播的身份加入。

1.4 离线语音接口调用流程


在使用语音消息的时候,首先需要调用SetMode方法设置使用语音消息模式。然后调用ApplyMessageKey申请用于离线语音的相关的key信息,当申请成功后会通过OnApplyMessageKey进行回调。

当需要录音时,调用StartRecording接口将音频文件录制到文件中(文件的路径格式是file://your path)。如果想取消录制可以调用StopRecording接口进行取消。当录制完成后,调用UploadRecordedFile将文件上传到GcloudVoice的服务器上,该过程会通过OnUploadFile回调在上传成功的时候返还一个ShareFileID.该ID是这个文件的唯一标识符,用于其他用户收听时候的下载。服务器需要对其进行管理和转发

当游戏客户端需要收听其他人的录音时,首先从服务器获取转发的ShareFileID,然后调用DownloadRecordedFile下载该语言文件,下载结果通过OnDownloadFile回调来通知。当下载成功时,就可以调用PlayRecordedFile播放下载完成的语音数据了。同样的,如果想取消播放,可以调用StopPlayFile进行取消。

2 接口说明

2.1 基本API

2.1.1 获取IGcloudVoiceEngine对象

接口:IGCloudVoiceEngine *GetVoiceEngine()
参数:无
返回值:IGcloudVoiceEngine对象,出错时返回NULL

2.1.2 设置应用信息

接口:GCloudVoiceErrno SetAppInfo(const char appID,const char appKey, const char *openID)
参数: appID : 应用的GameID appKey: 应用的GameKey openID: 游戏从QQ、微信等获得到的openID,也可以是游戏测能标示的唯一玩家的角色ID
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.3 设置应用信息初始化

接口:GcloudVoiceErrno Init()
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.4 反初始化

接口: GcloudVoiceErrno Deinit()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.5 反初始化

接口: GCloudVoiceErrno SetNotify(IGCloudVoiceNotify *notify)
参数:notify: 实现的IGCloudVoiceNotify对象
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.6 设置通话模式

接口:GcloudVoiceErrno SetMode(GcloudVoiceMode mode)
参数:mode: 通话模式 enum GcloudVoiceMode

{
 RealTime,  // 实时语音
 Messages, // 离线语音
};


返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.7 系统Pause中断

接口:GcloudVoiceErrno Pause()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.8 中断恢复Resume

接口:GcloudVoiceErrno Resume()
参数: 无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.9 回调驱动Poll

接口:GcloudVoiceErrno Poll()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.2 实时语音API

2.2.1 加入小队房间

接口:GcloudVoiceErrno JoinTeamRoom(const char *roomName, int msTimeout)
参数: roomName: 服务器获得的房间的名称,如果不存在服务器会自动创建,长度限制在511以下。 msTimeout: 加入房间的超时时间
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码。这里返回成功不一定标示加入房间已经成功,加入房间是否成功会在OnJoinRoom中回调

2.2.2 国战房间

接口:GcloudVoiceErrno JoinNationalRoom(const char *roomName, GCloudVoiceMemberRole role, int msTimeout)
参数: roomName: 服务器获得的房间的名称,如果不存在服务器会自动创建 role: 用户的角色,是听众还是主播 msTimeout: 加入房间的超时时间
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码。这里返回成功不一定标示加入房间已经成功,加入房间是否成功会在OnJoinRoom中回调

2.2.3 退出房间

接口:GcloudVoiceErrno QuitRoom()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码。当前加入的是那种房间(小队或者国战)就退出哪个房间

2.2.4 打开麦克风开始录音

接口:GcloudVoiceErrno OpenMic()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.2.5 关闭麦克风,停止录音

接口:GcloudVoiceErrno CloseMic()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.2.6 打开扬声器开始播放声音

接口:GcloudVoiceErrno OpenSpeaker()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.2.7 关闭扬声器停止播放声音

接口:GcloudVoiceErrno CloseSpeaker()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.3 离线语音API

2.3.1 申请AuthKey

接口:GCloudVoiceErrno ApplyMessageKey(int msTimeout)
参数:msTimeout超时时间
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码。这里成功不代表已经成功申请了香港key,需要在OnApplyMessageKey中回调

2.3.2 开始录音

接口:GcloudVoiceErrno StartRecording (const char * filePath)
参数:filePath:保存文件的位置,格式为 保存至文件”you_dir/your_filename” :文件路径需要用反斜杠“/”做分隔
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.3.3 取消录音

接口:GcloudVoiceErrno StopRecording ()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.3.4 发送音频文件

接口:GcloudVoiceErrno UploadRecordedFile (const char * filePath)
参数:filePath:为录制时给的路径
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.3.5 下载音频文件

接口:GcloudVoiceErrno DownloadRecordedFile (const char fileID, const char downloadFilePath, int msTimeout)
参数: fileID: 要下载的文件的ID downloadFilePath: 下载的位置,格式如上 msTimeout: 超时时间
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.3.6 播放下载的音频文件

GcloudVoiceErrno PlayRecordedFile (const char * downloadFilePath)
参数:downloadFilePath: 下载的文件的位置
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.3.7 取消播放

接口:GcloudVoiceErrno StopPlayFile ()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.4 回调接口

2.4.1 加入房间结果

接口:void OnJoinRoom(GCloudVoiceCompleteCode code, char *roomName, int memberID)
参数:code: 加入房间的结果 enum GcloudVoiceCompleteCode
{
GV_ON_JOINROOM_SUCC, // 加入房间成功
GV_ON_JOINROOM_TIMEOUT, // 加入房间超时
GV_ON_JOINROOM_FAIL, // 加入房间其他错误
};
roomName: 加入房间的名字 memberID: 成员的ID
返回值:无

2.4.2 退出房间结果

接口:void OnQuitRoom(GCloudVoiceCompleteCode code, const char *roomName)
参数:code: 加入房间的结果 enum GcloudVoiceCompleteCode

{
GV_ON_JOINROOM_SUCC, // 加入房间成功
GV_ON_JOINROOM_TIMEOUT, // 加入房间超时
GV_ON_JOINROOM_FAIL, // 加入房间其他错误
};
roomName: 加入房间的名字
返回值:无

2.4.3 其他成员发声状态的变化

接口:void OnMemberVoice (const int members, int length)
参数:members: 成员及状态,格式为 memberID,status,memberID,status 成对出现,status值为 0:从发声变成 没有发声 1: 从不发生变成发声 2: 从发声再发声 length: member的个数,2就是member数组的长度。
返回值:无

2.4.4 发送文件状态回调

接口:void OnUploadFile(GCloudVoiceCompleteCode code, const char filePath, const char fileID)
参数: filePath: 文件存储的位置,与send的时候一致 fileID: 文件唯一标示的ID code: 如果出错时候的错误码
返回值:无

2.4.5 下载文件状态回调

接口:void OnDownloadFile(GCloudVoiceCompleteCode code, const char filePath, const char fileID )
参数: filePath: 文件存储的位置,与down的时候一致 fileID: 文件唯一标示的ID code: 如果出错时候的错误码
返回值:无

2.4.6 申请Key的回调

接口:void OnApplyMessageKey(GCloudVoiceCompleteCode code)
参数:code: 如果出错时候的错误码
返回值:无

2.4.7 文件播放结束后的回调

接口:void OnPlayRecordedFile(GCloudVoiceCompleteCode code,const char *filePath)
参数: code: 如果出错时候的错误码 filePath: 播放的文件的位置
返回值:无

Android平台接入流程

最近更新时间:2018-01-08 15:43:43

查看pdf

1 使用简述

GcloudVoice 客户端SDK可以运行在iOS和Android两个平台并支持Cocos/Unreal/Unity等主流游戏引擎。其在Cocos和Unreal上提供C++接口。本文档描述了JAVA接口使用方法(Android也可以使用C++接口)。

GcloudVoice 客户端SDK目前主要有实时语音(Real-Time)、离线语音(Message)两大功能。实时语音针应用于游戏对局中的实时交流,如MOBA类游戏的实时指挥(王者荣耀、全民超神)、FPS类游戏的指挥(穿越火线-枪战王者)用于弥补手机上输入困难不实时的问题。离线语音主要用于留言消息场景,如大厅的全局聊天(三国之刃)、语音留言(邮件通知)。

同时实时语音还分为国战语音(比如MMORGP里面的国战,御龙国战)以及小队语音(MOBA类里面的对局,王者荣耀的5V5),如果一个房间里面成员小于20人,建议使用小队语音,否则建议使用国战语音,在国战语音中,同时说话人数不得超过5人。

GcloudVoice 客户端SDK接口主要分成三个部分:基本API、实时语音API以及离线语音API。

1.1 系统配置和基本使用

Android SDK 下载
Android Demo 下载

下载Android SDK包后,导入Jar包和SO文件到android工程后。按如下流程即可接入。 主要是导入包

然后通过

初始化java. 再完成初始化以及对应的模式设置

实现和设置回调: 导入回调接口:

实现回调类:

设置回调:

加入房间:

在回调中查看进房的回调结果:

成功后则可以OpenMic OpenSpeaker:

具体流程接口可以照以下文档的详细说明。

1.2 接口调用流程


首先实现IGCloudVoiceNotify回调,然后调用GetVoiceEngine获取IGCloudVoiceNotify对象。然后对该对象进行初始化操作并设置回调。接着再根据需要调用实时语音接口或者离线语音接口,然后在系统可以Tick的地方(如Unity3D的Update)调用Poll驱动处理事务中的回调信息。

1.3 实时语音接口调用流程


在使用实时语音的时候,首先需要调用SetMode方法设置使用实时语音模式。然后根据业务逻辑判断是需要加入小队语音房间或者国战语音房间,分别调用JoinTeamRoom和JoinNationalRoom。

然后需要tick的调用poll来检查回调,当加入房间成功或者失败时,会回调OnJoinRoom方法。

加入房间成功后就可以调用OpenMic打开麦克风进行采集并发送到网络,调用OpenSpeaker打开扬声器开始接受网络上的音频流并自动进行播放。

当需要退出房间时,调用QuitRoom即可,调用成功后会回调OnQuitRoom方法。

注意: 对于国战语音,系统要求说话人数不能超过5个人,每个用户多了一个角色信息,在加入房间的时候需要指定是以听众的身份加入还是以主播的身份加入。

1.4 离线语音接口调用流程


在使用语音消息的时候,首先需要调用SetMode方法设置使用语音消息模式。然后调用ApplyMessageKey申请用于离线语音的相关的key信息,当申请成功后会通过OnApplyMessageKey进行回调。

当需要录音时,调用StartRecording接口将音频文件录制到文件中(文件的路径格式是file://your path)。如果想取消录制可以调用StopRecording接口进行取消。当录制完成后,调用UploadRecordedFile将文件上传到GcloudVoice的服务器上,该过程会通过OnUploadFile回调在上传成功的时候返还一个ShareFileID.该ID是这个文件的唯一标识符,用于其他用户收听时候的下载。服务器需要对其进行管理和转发

当游戏客户端需要收听其他人的录音时,首先从服务器获取转发的ShareFileID,然后调用DownloadRecordedFile下载该语言文件,下载结果通过OnDownloadFile回调来通知。当下载成功时,就可以调用PlayRecordedFile播放下载完成的语音数据了。同样的,如果想取消播放,可以调用StopPlayFile进行取消。

2 接口说明

2.1 基本API

2.1.1 获取IGcloudVoiceEngine对象

接口:IGCloudVoiceEngine *GetVoiceEngine()
参数:无
返回值:IGcloudVoiceEngine对象,出错时返回NULL

2.1.2 设置应用信息

接口:GCloudVoiceErrno SetAppInfo(const char appID,const char appKey, const char *openID)
参数: appID : 应用的GameID appKey: 应用的GameKey openID: 游戏从QQ、微信等获得到的openID,也可以是游戏测能标示的唯一玩家的角色ID
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.3 设置应用信息初始化

接口:GcloudVoiceErrno Init()
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.4 反初始化

接口: GcloudVoiceErrno Deinit()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.5 反初始化

接口: GCloudVoiceErrno SetNotify(IGCloudVoiceNotify *notify)
参数:notify: 实现的IGCloudVoiceNotify对象
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.6 设置通话模式

接口:GcloudVoiceErrno SetMode(GcloudVoiceMode mode)
参数:mode: 通话模式 enum GcloudVoiceMode

{
 RealTime,  // 实时语音
 Messages, // 离线语音
};


返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.7 系统Pause中断

接口:GcloudVoiceErrno Pause()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.8 中断恢复Resume

接口:GcloudVoiceErrno Resume()
参数: 无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.1.9 回调驱动Poll

接口:GcloudVoiceErrno Poll()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.2 实时语音API

2.2.1 加入小队房间

接口:GcloudVoiceErrno JoinTeamRoom(const char *roomName, int msTimeout)
参数: roomName: 服务器获得的房间的名称,如果不存在服务器会自动创建,长度限制在511以下。 msTimeout: 加入房间的超时时间
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码。这里返回成功不一定标示加入房间已经成功,加入房间是否成功会在OnJoinRoom中回调

2.2.2 国战房间

接口:GcloudVoiceErrno JoinNationalRoom(const char *roomName, GCloudVoiceMemberRole role, int msTimeout)
参数: roomName: 服务器获得的房间的名称,如果不存在服务器会自动创建 role: 用户的角色,是听众还是主播 msTimeout: 加入房间的超时时间
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码。这里返回成功不一定标示加入房间已经成功,加入房间是否成功会在OnJoinRoom中回调

2.2.3 退出房间

接口:GcloudVoiceErrno QuitRoom()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码。当前加入的是那种房间(小队或者国战)就退出哪个房间

2.2.4 打开麦克风开始录音

接口:GcloudVoiceErrno OpenMic()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.2.5 关闭麦克风,停止录音

接口:GcloudVoiceErrno CloseMic()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.2.6 打开扬声器开始播放声音

接口:GcloudVoiceErrno OpenSpeaker()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.2.7 关闭扬声器停止播放声音

接口:GcloudVoiceErrno CloseSpeaker()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.3 离线语音API

2.3.1 申请AuthKey

接口:GCloudVoiceErrno ApplyMessageKey(int msTimeout)
参数:msTimeout超时时间
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码。这里成功不代表已经成功申请了香港key,需要在OnApplyMessageKey中回调

2.3.2 开始录音

接口:GcloudVoiceErrno StartRecording (const char * filePath)
参数:filePath:保存文件的位置,格式为 保存至文件”you_dir/your_filename” :文件路径需要用反斜杠“/”做分隔
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.3.3 取消录音

接口:GcloudVoiceErrno StopRecording ()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.3.4 发送音频文件

接口:GcloudVoiceErrno UploadRecordedFile (const char * filePath)
参数:filePath:为录制时给的路径
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.3.5 下载音频文件

接口:GcloudVoiceErrno DownloadRecordedFile (const char fileID, const char downloadFilePath, int msTimeout)
参数: fileID: 要下载的文件的ID downloadFilePath: 下载的位置,格式如上 msTimeout: 超时时间
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.3.6 播放下载的音频文件

GcloudVoiceErrno PlayRecordedFile (const char * downloadFilePath)
参数:downloadFilePath: 下载的文件的位置
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.3.7 取消播放

接口:GcloudVoiceErrno StopPlayFile ()
参数:无
返回值:成功时返回GcloudVoiceErrno::GCLOUD_VOICE_SUCC,否则返回其他错误码

2.4 回调接口

2.4.1 加入房间结果

接口:void OnJoinRoom(GCloudVoiceCompleteCode code, char *roomName, int memberID)
参数:code: 加入房间的结果 enum GcloudVoiceCompleteCode
{
GV_ON_JOINROOM_SUCC, // 加入房间成功
GV_ON_JOINROOM_TIMEOUT, // 加入房间超时
GV_ON_JOINROOM_FAIL, // 加入房间其他错误
};
roomName: 加入房间的名字 memberID: 成员的ID
返回值:无

2.4.2 退出房间结果

接口:void OnQuitRoom(GCloudVoiceCompleteCode code, const char *roomName)
参数:code: 加入房间的结果 enum GcloudVoiceCompleteCode

{
GV_ON_JOINROOM_SUCC, // 加入房间成功
GV_ON_JOINROOM_TIMEOUT, // 加入房间超时
GV_ON_JOINROOM_FAIL, // 加入房间其他错误
};
roomName: 加入房间的名字
返回值:无

2.4.3 其他成员发声状态的变化

接口:void OnMemberVoice (const int members, int length)
参数:members: 成员及状态,格式为 memberID,status,memberID,status 成对出现,status值为 0:从发声变成 没有发声 1: 从不发生变成发声 2: 从发声再发声 length: member的个数,2就是member数组的长度。
返回值:无

2.4.4 发送文件状态回调

接口:void OnUploadFile(GCloudVoiceCompleteCode code, const char filePath, const char fileID)
参数: filePath: 文件存储的位置,与send的时候一致 fileID: 文件唯一标示的ID code: 如果出错时候的错误码
返回值:无

2.4.5 下载文件状态回调

接口:void OnDownloadFile(GCloudVoiceCompleteCode code, const char filePath, const char fileID )
参数: filePath: 文件存储的位置,与down的时候一致 fileID: 文件唯一标示的ID code: 如果出错时候的错误码
返回值:无

2.4.6 申请Key的回调

接口:void OnApplyMessageKey(GCloudVoiceCompleteCode code)
参数:code: 如果出错时候的错误码
返回值:无

2.4.7 文件播放结束后的回调

接口:void OnPlayRecordedFile(GCloudVoiceCompleteCode code,const char *filePath)
参数: code: 如果出错时候的错误码 filePath: 播放的文件的位置
返回值:无