房间参数
调用joinRoomWithHost()接口函数的时候
宏定义字段 |
说明 |
值 |
TKHOST |
域名(global.talk-cloud.com) |
"tk_host" |
TKPORT |
端口(目前为443) |
"tk_port" |
TKROOMID |
房间ID字段 |
"serial" |
TKROOMPWD |
房间密码字段(预约房间时指定的密码,注意不同身份对应不同密码) |
"password" |
TKROOMTYPE |
房间类型 |
"roomtype" |
TK_UI_UNIFORM_VERSION |
UI版本 |
"tk_ui_uniform_version" |
TK_SDK_UNIFORM_VERSION |
SDK版本 |
"tk_sdk_uniform_version" |
TK_GETROOMFILE |
获取课件列表 |
"tk_getroomfile" |
TKMULTILOCALSTREAM |
多流 |
"tk_multistream" |
TKMAXRECONNECTCOUNT |
最大连接数 |
"tk_max_reconnect_count" |
TKUSESECURESOCKET |
使用安全的socket |
"tk_use_secure_socket" |
TKVOLUMEREPORTMS |
音量回调间隔 毫秒 [10~1000] 10的倍数 |
"tk_volume_report_ms" |
通知者
调用pubMsg()、delMsg()、sendMessage()等 接口函数
宏定义字段 |
说明 |
值 |
ALLUSER |
所有人 |
"__all" |
ALLEXCEPTSENDER |
除自己以外的所有人 |
"__allExceptSender" |
ALLEXCEPTAUDITOR |
除旁听用户以外的所有人 |
"__allExceptAuditor" |
NONEUSER |
不通知任何人 |
"__None" |
注意
调用上述的接口函数还可以传入 peerID (某个用户的ID)
踢人原因
数值 |
说明 |
400 |
相同ID用户重复进入房间。先进入房间的用户会被踢出 |
401 |
房间到达设定的结束时间或老师离开房间后在指定时间内未返回 |
402 |
房间被禁用(通过后台或WebAPI) |
<400 |
reason自定义(客户端调用踢人接口 ) |
TKError
错误码
1.收到(void)onError:(int)errorCode errorDes:(NSString *)errMsg回调的参数errorCode的详解
2.调用TKRoomManager类的接口函数的返回值
枚举值 |
说明 |
值 |
TKError_Ok |
成功 |
0 |
TKError_UnInitialized |
未初始化 |
1 |
TKError_InvalidStatus |
无效的状态 |
2 |
TKError_BadParameters |
参数错误 |
3 |
TKError_NoThisUser |
没有此用户 |
4 |
TKError_HttpRequestFailed |
HTTP请求失败 |
11 |
TKError_OpenCameraFailed |
打开摄像头失败 |
21 |
TKError_InvalidVideoDeviceID |
无效的视频设备ID |
22 |
TKError_InvalidMicDeviceID |
无效的麦克风设备ID |
26 |
TKError_InvalidSpeakerDeviceID |
无效的扬声器设备ID |
27 |
TKError_Publish_Failed |
发布失败 |
31 |
TKError_Publish_TimeOut |
发布超时 |
32 |
TKError_Publish_RoomMaxVideoLimited |
发布房间最大视频限制 |
33 |
TKError_Publish_Max_Reconnect_Count |
发布最大重新连接计数 |
34 |
TKError_Subscribe_Failed |
订阅失败 |
41 |
TKError_Subscribe_TimeOut |
订阅超时 |
42 |
TKError_Subscribe_Stream_NotFound |
订阅流未找到 |
43 |
TKError_SwitchServerFailed |
切换服务器失败 |
51 |
TKError_MediaStreamFailed |
媒体流失败 |
1103 |
TKError_MediaStreamReconnectingAfterFailure |
媒体流连接后失败 |
1104 |
TKWarning
枚举值 |
说明 |
值 |
WAR_CHECKROOM_COMPLETED_C |
checkroom完成 |
1001 |
WAR_GETCONFIG_COMPLETED_C |
getconfig完成 |
1002 |
WAR_MEDIA_STREAM_CONNECTED_C |
媒体流连接 |
1101 |
WAR_MEDIA_STREAM_FAILED_C |
媒体流连接失败 |
1102 |
WAR_MEDIA_STREAM_CLOSED_C |
媒体流断开 |
1103 |
回调(void)onInfo:(TKInformation)infoCode infoBody:(NSObject*)info中的第一个参数的值为TKInformation
枚举值 |
说明 |
值 |
TKInfo_CheckRoomCompleted |
checkroom完成 |
1001 |
TKInfo_GetConfigCompleted |
getconfig完成 |
1002 |
TKInfo_MediaStreamConnected |
媒体流连接 |
1101 |
TKInfo_MediaStreamClosed |
媒体流断开 |
1102 |
TKInterfaceType
枚举值 |
说明 |
值 |
TKInterface_AudioDevice |
音频设备 |
1 |
TKInterface_VideoDevice |
视频设备 |
2 |
TKInterface_UserManager |
用户管理器 |
3 |
TKInterface_BroadCastEngine |
广播引擎 |
4 |
TKInterface_MediaFactory |
媒体工厂 |
5 |
TKRoomProfile
房间类型
枚举值 |
说明 |
值 |
TKRoomProfile_Communication |
实时交互 |
0 |
TKRoomProfile_LiveBroadCasting |
直播 |
1 |
TKRoomProfile_CommunicationLive |
交互加直播 |
2 |
TKPublishStatus
用户的发布状态
调用publishVideo()、unpublishVideo()、publishAudio()、unpublishAudio()会修改用户的发布状态属性
枚举值 |
说明 |
值 |
TKPublish_None |
什么都不发布 |
0 |
TKPublish_Audio |
只发布音频 |
1 |
TKPublish_Video |
只发布视频 |
2 |
TKPublish_All |
发布音视频 |
4 |
媒体发布状态
调用startShareMediaFile()、stopShareMediaFile()会修改用户的媒体发布状态
枚举值 |
说明 |
值 |
TKMedia_Unpublish |
停止发布 |
0 |
TKMedia_Published |
开始发布 |
1 |
TKRenderMode
渲染模式
枚举值 |
说明 |
值 |
TK_RENDER_MODE_HIDDEN_C |
渲染模式隐藏 |
1 |
TK_RENDER_MODE_FIT_C |
渲染模式匹配 |
2 |
TK_RENDER_MODE_ADAPTIVE_C |
渲染模式自适应 |
3 |
媒体类型
回调 onCaptureAudioFrame()、onCaptureVideoFrame()的参数就是TK_MEDIATYPE_C
枚举值 |
说明 |
值 |
TKMedia_Unknow |
无 |
-1 |
TKMedia_Camera |
摄像头 |
0 |
TKMedia_Mic |
麦克风 |
11 |
TKMedia_Speaker |
扬声器 |
12 |
TKMedia_File |
媒体文件 |
101 |
TKMedia_Screen |
屏幕共享 |
102 |
TKMedia_Media |
本地媒体 |
103 |
TKSourceType
数据源类型
枚举值 |
说明 |
值 |
TKSource_Screen |
屏幕源 |
0 |
TKSource_Window |
window源 |
1 |
数据存储类型
枚举值 |
说明 |
值 |
TKSampleFormat_None |
|
-1 |
TKSampleFormat_U8 |
unsigned 8 bits |
0 |
TKSampleFormat_S16 |
signed 16 bits |
1 |
TKSampleFormat_S32 |
signed 32 bits |
2 |
TKSampleFormat_Flt |
float |
3 |
TKSampleFormat_Dbl |
double |
4 |
TKSampleFormat_U8P |
unsigned 8 bits, planar |
5 |
TKSampleFormat_S16P |
signed 16 bits, planar |
6 |
TKSampleFormat_S32P |
signed 32 bits, planar |
7 |
TKSampleFormat_Fltp |
float, planar |
8 |
TKSampleFormat_Dblp |
double, planar |
9 |
TKSampleFormat_S64 |
signed 64 bits |
10 |
TKSampleFormat_S64P |
signed 64 bits, planar |
11 |
TKSampleFormat_AV_NB |
Number of sample formats. DO NOT USE if linking dynamically |
12 |
TKLogLevel
打印日志的格式:分为信息、警告、错误等类型
作为结构体struct LoggerInfo的元素来使用
枚举值 |
说明 |
TKLog_All |
所有 |
TKLog_Debug |
调试 |
TKLog_Info |
信息 |
TKLog_Warning |
警告 |
TKLog_Error |
错误 |
TKLog_None |
无 |
TKKickOutReason
被踢出的原因
回调onKickedout(TKKickOutReason reason)
枚举值 |
说明 |
KickOut_Repeat |
重复登录(同样的身份挤掉) |
KickOut_ByOther |
被其他人踢出(老师点击踢出去) |
TKServerRecordType
服务器录制类型
调用startServerRecord() 第一个参数为传入录制的类型
枚举值 |
说明 |
TKServerRecord_Default |
默认类型 |
TKServerRecord_IndependentVideo |
单流 |
TKServerRecord_Mp3 |
MP3 |
TKServerRecord_MixedVideo |
多流 |
TKServerRecordConversion
服务器录制转换
我录制出来的mkv文件需要转换成用户所需的文件
调用startServerRecord() 第二个参数为传入转换录制的类型
枚举值 |
说明 |
TKServerRecordConversion_None |
无 |
TKServerRecordConversion_Webm |
转换为webm文件 |
TKServerRecordConversion_Mp4 |
转换为MP4文件 |
TKServerRecordLayout
服务器录制布局
调用startServerRecord() 第三个参数为传入录制布局的类型
枚举值 |
说明 |
TKServerRecordLayout_Hor |
横屏 |
TKServerRecordLayout_Ver |
竖屏 |
TKAudioDevice
音频设备
回调onAudioDeviceStateChanged的第二个参数为TK_AUDIO_DEVICE
枚举值 |
说明 |
TKAudioDevice_Mic |
麦克风 |
TKAudioDevice_Speaker |
扬声器 |
TKDeviceState
设备状态onVideoDeviceStateChanged
回调onVideoDeviceStateChanged()和onAudioDeviceStateChanged()
枚举值 |
说明 |
TKDevice_Remove |
移除 |
TKDevice_Add |
添加 |
媒体状态onVideoDeviceStateChanged
回调onVideoStateChanged()和onAudioStateChanged()
枚举值 |
说明 |
TKMediaState_Frozen |
暂停 |
TKMediaState_Resume |
恢复 |
TKVideoStreamType
视频流类型
调用setRemoteVideoStreamType()需要传入此类型的参数
枚举值 |
说明 |
TKVideoStream_Big |
大流 |
TKVideoStream_Small |
小流 |
TKVideoProfile
视频配置文件
元素(类型) |
说明 |
width(int) |
视频宽 |
height(int) |
视频高 |
maxfps(int) |
帧率 |
TKVideoCanvas
视频画布
元素(类型) |
说明 |
view(tk_view) |
窗口句柄 |
renderMode(TK_RENDER_MODE) |
渲染模式 |
TKDesktopSource
桌面源
元素(类型) |
说明 |
window(void*) |
共享的窗口句柄 |
type(TK_SOURCETYPE) |
源类型 |
Rect(struct) |
有效区域大小 |
mixMic(bool) |
是否混音到麦克风 |
mixSpeaker(bool) |
是否混音到扬声器 |
cursorMonitor(bool) |
是否监视 |
TKValidWindow
有效窗口
元素(类型) |
说明 |
id(long) |
窗口ID |
title(std::string) |
窗口主题 |
TKVideoFrame
一帧视频数据
元素(类型) |
说明 |
width(int) |
宽 |
height(int) |
高 |
yStride(int) |
Y数据缓冲区的跨步 |
uStride(int) |
U数据缓冲区的跨步 |
vStride(int) |
V数据缓冲区的跨步 |
yBuffer(void *) |
Y数据缓冲区 |
uBuffer(void *) |
U数据缓冲区 |
vBuffer(void *) |
V数据缓冲区 |
rotation(int) |
此帧的旋转(0、90、180、270) |
TKAudioFrame
一帧音频数据
元素(类型) |
说明 |
samples(int) |
这一帧的采样次数 |
bytesPerSample(int) |
样本大小 |
channels(int) |
通道数 |
samplesPerSec(int) |
采样率 |
format(int) |
位深(TK_SAMPLEFMT) |
buffer(void *) |
数据缓冲区 |
TKVideoParam
视频参数
元素(类型) |
说明 |
width(int) |
宽 |
height(int) |
高 |
bitrate(int) |
比特率 |
fps(int) |
帧率 |
key_sec(int) |
|
TKAudioParam
音频参数
元素(类型) |
说明 |
samplerate |
采样率 |
bitrate |
采样位数 |
channel |
通道 |
TKLoggerInfo
日志信息
元素(类型) |
说明 |
loglevel(TK_LOG_LEVEL) |
日志的格式 |
logpath(std::string) |
日志路径 |
limitsize(int) |
限制大小 MB. 0 for no limit |
TKVideoStats
视频统计
元素(类型) |
说明 |
frameWidth(int) |
帧宽 |
frameHeight(int) |
帧高 |
frameRate(int) |
帧率 |
packetsLost(int) |
丢失包数 |
totalPackets(int) |
总包数 |
currentDelay(int) |
当前延时 |
bitsPerSecond(int) |
每秒传输字节数 |
netQuality(TK_NET_QUALITY) |
网络状况 |
timeStamp(int) |
时间戳 |
TKAudioStats
音频统计
元素(类型) |
说明 |
packetsLost(int) |
丢失包数 |
totalPackets(int) |
总包数 |
currentDelay(int) |
当前延时 |
bitsPerSecond(int) |
每秒传输字节数 |
jitter(int) |
抖动 |
netQuality(TK_NET_QUALITY) |
网络状况 |
timeStamp (double) |
时间戳 |
TKServerInfo
服务器信息
元素(类型) |
说明 |
chinesedesc(std::string) |
中文描述 |
englishdesc(std::string) |
英文描述 |
serverareaname(std::string) |
服务器名字 |
current(bool) |
是否当前 |