游戏互动
联系电话:(010) 6072 8829
技术QQ群:697918347
English
Cocos游戏API
Cocos2d-x API接口文档

主要方法(TTTRtcEngine)

获取版本号(getVersion)
static const char *getVersion()
用于获取sdk的版本号

名称 描述
返回值 sdk版本号

获取错误描述(getErrorDescription)

static const char *getErrorDescription(ERROR_CODE code)

名称 描述
code 错误代码对应的描述
ERROR_INVALID_CHANNEL_NAME = 9000,//频道名称错误
ERROR_ENTER_TIMEOUT = 9001,//超时
ERROR_ENTER_FAILED = 9002,//无法连接服务区
ERROR_ENTER_VERIFYFAILED = 9003,//验证码错误
ERROR_ENTER_BADVERSION = 9004,//版本错误
ERROR_ENTER_UNKNOWN = 9005,//未知错误

设置频道模式(setChannelProfile)

virtual int setChannelProfile(CHANNEL_PROFILE profile)

名称 描述
profile 频道模式
CHANNEL_PROFILE_COMMUNICATION = 0, // 通信
CHANNEL_PROFILE_LIVEBROADCASTING = 1, // 直播
CHANNEL_PROFILE_GAME_FREEMODE = 2, // 游戏(自由发言模式)
int 返回值
0:方法调用成功
<0:方法调用失败

设置用户角色(setClientRole)

virtual int setClientRole(CLIENT_ROLE role, const char *permissionKey)

名称 描述
role 用户角色
CLIENT_ROLE_BROADCASTER = 1, //副播 CLIENT_ROLE_AUDIENCE = 2, //观众
permissionKey 3TLive分配的鉴权密钥
int 返回值
0:方法调用成功
<0:方法调用失败

设置日志文件过滤器(setLogFilter)

virtual int setLogFilter(LOG_FILTER filter)

名称 描述
filter 日志过滤器
LOG_FILTER_OFF = 0, //关闭
LOG_FILTER_DEBUG = 0x080f, //debug模式
LOG_FILTER_INFO = 0x000f, //信息
LOG_FILTER_WARNING = 0x000e, //警告日志
LOG_FILTER_ERROR = 0x000c, //错误日志
int 返回值
0:方法调用成功
<0:方法调用失败

设置日志路径(setLogFile)

virtual int setLogFile(const char *filePath)

名称 描述
filePath 日志文件的完整路径。该日志文件为UTF-8编码。
int 返回值
0:方法调用成功
<0:方法调用失败

补充说明:

设置sdk输出的日志文件路径,应用程序必须保证指定的目录存在且可用。

允许/禁止往网络发送本地音频流

virtual int muteLocalAudioStream(bool mute)

名称 描述
mute true: 麦克风静音
false: 取消静音
int 返回值
0:方法调用成功
<0:方法调用失败
允许/禁止播放远端用户的视频流(muteAllRemoteAudio)

virtual int muteAllRemoteAudioStreams(bool mute)

名称 描述
mute true: 停止播放所有收到的音频流
false: 允许播放所有收到的音频流
int 返回值
0:方法调用成功
<0:方法调用失败

允许/禁止播放远端用户的视频流(muteRemoteAudio)

virtual int muteRemoteAudioStream(unsigned int uid, bool mute)
允许/禁止播放指定的远端用户的音频流

名称 描述
uid 用户ID
mute true: 停止播放所有收到的音频流
false: 允许播放所有收到的音频流
int 返回值
0:方法调用成功
<0:方法调用失败

打开外放(扬声器)

virtual int setEnableSpeakerphone(bool speakerphone)

名称 描述
speakerphone true: 切换到从外放(扬声器)出声
false: 语音会根据默认路由出声。
int 返回值
0:方法调用成功
<0:方法调用失败

修改默认的语音路由(setDefaultAudio)

virtual int setDefaultAudioRouteToSpeakerphone(bool speakerphone)

名称 描述
speakerphone true: 默认路由改为外放(扬声器)
false: 默认路由改为听筒。
int 返回值
0:方法调用成功
<0:方法调用失败

启用/禁用说话者音量提示

virtual int enableAudioVolumeIndication(int interval, int smooth)

名称 描述
interval 指定音量提示的时间间隔(<=0: 禁用音量提示功能;>0: 提示间隔,单位为毫秒。建议设置到大于200毫秒。)
smooth 平滑系数。默认可以设置为3。
int 返回值
0:方法调用成功
<0:方法调用失败

开始客户端本地混音

virtual int startAudioMixing(const char *filePath, bool loopback, bool replace, int cycle)

名称 描述
filePath 指定需要混音的本地音频文件名和文件路径
loopback true: 只有本地可以听到混音或替换后的音频流
false: 本地和对方都可以听到混音或替换后的音频流
replace true: 音频文件内容将会替换本地录音的音频流
false: 音频文件内容将会和麦克风采集的音频流进行混音
cycle 指定音频文件循环播放的次数
int 返回值
0:方法调用成功
<0:方法调用失败

停止客户端本地混音(stopAudioMixing)

virtual int stopAudioMixing()

名称 描述
int 返回值
0:方法调用成功
<0:方法调用失败

暂停播放伴奏(pauseAudioMixing)

virtual int pauseAudioMixing()

名称 描述
int 返回值
0:方法调用成功
<0:方法调用失败

恢复播放伴奏(resumeAudioMixing)

virtual int resumeAudioMixing()

名称 描述
int 返回值
0:方法调用成功
<0:方法调用失败

调整伴奏音量(adjustAudioMixing)

virtual int adjustAudioMixingVolume(int volume)

名称 描述
volume 音量大小。[0,100]
int 返回值
0:方法调用成功
<0:方法调用失败

获取伴奏时长(getAudioMixingDuration)

virtual int getAudioMixingDuration()

名称 描述
int 返回值
0:方法调用成功
<0:方法调用失败

获取伴奏进度(getAudioMixingCurrentPosition)

virtual int getAudioMixinCurrentPosition()

名称 描述
int 返回值
0:方法调用成功
<0:方法调用失败

加入频道(joinChannel)

virtual int joinChannel(const char *channelKey, const char *channelName, unsigned int uid)

名称 描述
channelName 标示通话的频道名称
uid 用户ID
int 返回值
0:方法调用成功
<0:方法调用失败

离开频道(leaveChannel)

virtual int leaveChannel()

名称 描述
int 返回值
0:方法调用成功
<0:方法调用失败

触发SDK事件

virtual void poll()
根据垂直同步,如onUpdate(Cocos2d)触发SDK事件

名称 描述
void 无返回类型

回调方法(TTTRtcEngineEventHandler)

设置回调处理句柄(setEventHandler)
virtual void setEventHandler(TTTRtcEngineEventHandler *eventHandler)

发生错误(onError)

virtual void onError(ERROR_CODE code, const char *message)

名称 描述
code 错误代码
message 错误描述

网络链接丢失(onConnentionLost)

virtual void onConnectionLost()

名称 描述
void 无返回类型

加入频道成功(onJoinChannelSuccess)

virtual void onJoinChannelSuccess(const char *channel, unsigned int uid, int elapsed)

名称 描述
channel 频道名
uid 用户ID
elapsed 从joinChannel开始到该回调触发的延迟(毫秒)

成功离开频道(onLeaveChannel)

virtual void onLeaveChannel(const RtcStats &stats)

名称 描述
stats 统计数据。
unsigned int duration; //通话时长
unsigned int txBytes; //发送的数据
unsigned int rxBytes; //接收的数据
unsigned short txAudioKBitRate;//发送的音频比特率
unsigned short rxAudioKBitRate;//接收的音频比特率
unsigned int users; //用户ID

用户加入(onUserJoined)

virtual void onUserJoined(unsigned int uid, int elapsed)

名称 描述
uid 用户ID
elapsed 从加入频道开始到该回调触发的延迟(毫秒)

用户离线(onUserOffline)

virtual void onUserOffline(unsigned int uid, USER_OFFLINE_REASON reason)

名称 描述
uid 用户ID
reason 离线原因
USER_OFFLINE_QUIT = 0, //正常退出
USER_OFFLINE_DROPPED = 1, //掉线
USER_OFFLINE_BECOME_AUDIENCE = 2,//用户身份从主播变为观众

上报远端用户音量(onReportAudio)

virtual void onReportAudioLevel(unsigned int userID, unsigned int audioLevel, unsigned int audioLevelFullRange)
提示谁在说话及其音量,默认禁用。可通过enableAudioVolumeIndication方法设置

名称 描述
userID 用户ID
audioLevel 非线性区间。[0,9]
audioLevelFullRange 线性区间。[0,32768]

补充说明:

推荐使用audioLevel的回调

上报统计数据(onReportRtcStats)

virtual void onReportRtcStats(const RtcStats &stats)

名称 描述
stats 统计数据。
unsigned int duration; //通话时长
unsigned int txBytes; //发送的数据
unsigned int rxBytes; //接收的数据
unsigned short txAudioKBitRate;//发送的音频比特率
unsigned short rxAudioKBitRate;//接收的音频比特率
unsigned int users; //用户ID

用户音频静音(onAudioMuted)

virtual void onAudioMuted(unsigned int uid, bool muted)

名称 描述
uid 用户ID
muted true: 静音
false: 取消静音

音频路由发生变化

virtual void onAudioRouteChanged(AUDIO_ROUTE routing)

名称 描述
routing 当前输出路由。
AUDIO_ROUTE_HEADSET = 0, // 耳机或蓝牙
AUDIO_ROUTE_SPEAKERE = 1, // 扬声器
AUDIO_ROUTE_HEADPHONE = 2, // 手机听筒

客户端本地混音完成

virtual void onAudioMixingFinished()

名称 描述
void 无返回类型