房间参数
调用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) |
是否当前 |