- 房间参数
- 通知者
- 踢人原因
- TK_ERROR_C
- TK_WARNING_C
- TK_ROOM_PROFILE_C
- TK_PUBLISH_STATUS_C
- TK_MEDIA_STATUS_C
- TK_RENDER_MODE_C
- TK_MEDIATYPE_C
- TK_SOURCETYPE_C
- TK_SAMPLEFMT_C
- TK_LOG_LEVEL_C
- TK_KICKOUT_REASON_C
- TK_SERVER_REC_TYPE_C
- TK_SERVER_REC_CONVERSION_C
- TK_SERVER_REC_LAYOUT_C
- TK_AUDIO_DEVICE_C
- TK_DEVICE_STATE_C
- TK_MEDIA_STATE_C
- TK_VIDEO_STREAM_TYPE_C
- TK_ROOM_TYPE_C
- VideoProfile_C
- VideoCanvas_C
- DesktopSource_C
- ValidWindow_C
- VideoFrame_C
- AudioFrame_C
- VideoParam_C
- AudioParam_C
- LoggerInfo_C
- VideoStats_C
- AudioStats_C
- MediaFileInfo_C
- ServerInfo_C
- ScreenCaptureParameters
- TK_SHARESCREENE_STATE
- TKSystemResourceInfo
房间参数
调用joinroom()接口函数的时候
| 宏定义字段 | 说明 | 值 |
|---|---|---|
| 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自定义(客户端调用踢人接口 ) |
TK_ERROR_C
错误码 1.收到void(*on_roomerror)(struct roomclient *, int err, const char* errmsg)回调的参数errorCode的详解 2.调用TKRoomManager类的接口函数的返回值
| 枚举值 | 说明 | 值 |
|---|---|---|
| ERR_OK_C | 成功 | 0 |
| ERR_NOT_INITIALIZED_C | 未初始化 | 1 |
| ERR_INVALID_STATUS_C | 无效的状态 | 2 |
| ERR_BAD_PARAMETERS_C | 参数错误 | 3 |
| ERR_NO_THIS_USER_C | 没有此用户 | 4 |
| ERR_HTTP_REQUEST_FAILED_C | HTTP请求失败 | 11 |
| ERR_SHARESCREEN_FAILED_PMS_C | 共享屏幕失败 | 15 |
| ERR_OPENCAMERA_FAILED_PMS_C | 打开摄像头失败 | 20 |
| ERR_OPENCAMERA_FAILED_C | 打开摄像头失败 | 21 |
| ERR_INVALID_VIDEO_DEV_ID_C | 无效的视频设备ID | 22 |
| ERR_OPENMIC_FAILED_PMS_C | 打开麦克风失败 | 25 |
| ERR_INVALID_MIC_DEV_ID_C | 无效的麦克风设备ID | 26 |
| ERR_INVALID_SPEAKER_DEV_ID_C | 无效的扬声器设备ID | 27 |
| ERR_PUBLISH_FAILED_C | 发布失败 | 31 |
| ERR_PUBLISH_TIMEOUT_C | 发布超时 | 32 |
| ERR_PUBLISH_ROOMMAXVIDEOLIMITED_C | 发布房间最大视频限制 | 33 |
| ERR_PUBLISH_MAX_RECONNECT_COUNT_C | 发布最大重新连接计数 | 34 |
| ERR_SUBSCRIBE_FAILED_C | 订阅失败 | 41 |
| ERR_SUBSCRIBE_TIMEOUT_C | 订阅超时 | 42 |
| ERR_SUBSCRIBE_STREAM_NOTFOUND_C | 订阅流未找到 | 43 |
| ERR_SWITCH_SERVER_FAILED_C | 切换服务器失败 | 51 |
| ERR_CHAT_TEXT_TOO_LONG_C | 聊天文字太长 | 61 |
| ERR_CHAT_SPEED_TOO_FAST_C | 聊天速度太快 | 62 |
| ERR_JOINROOM_WRONG_PARAM_C | joinroom错误的参数 | 63 |
| ERR_JOINROOM_STUDENT_LIMIT_EXCEED_C | joinroom学生人数超过限额 | 64 |
| ERR_JOINROOM_FAILED_C | joinroom失败 | 2507 |
| ERR_OPENMEDIAFILE_FAILED_PMS_C | 打开媒体文件失败 | 3000 |
TK_WARNING_C
| 枚举值 | 说明 | 值 |
|---|---|---|
| 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 |
TK_ROOM_PROFILE_C
房间类型
| 枚举值 | 说明 | 值 |
|---|---|---|
| TK_ROOM_PROFILE_COMMUNICATION_C | 实时交互 | 0 |
| TK_ROOM_PROFILE_LIVE_BROADCASTING_C | 直播 | 1 |
| TL_ROOM_PROFILE_COMMUNICATION_LIVE_C | 交互加直播 | 2 |
TK_PUBLISH_STATUS_C
用户的发布状态 调用publishVideo()、unpublishVideo()、publishAudio()、unpublishAudio()会修改用户的发布状态属性
| 枚举值 | 说明 | 值 |
|---|---|---|
| TK_PUBLISH_NONE_C | 什么都不发布 | 0 |
| TK_PUBLISH_AUDIO_C | 只发布音频 | 1 |
| TK_PUBLISH_VIDEO_C | 只发布视频 | 2 |
| TK_PUBLISH_ALL_C | 发布音视频 | 4 |
TK_MEDIA_STATUS_C
媒体发布状态 调用startShareMediaFile()、stopShareMediaFile()会修改用户的媒体发布状态
| 枚举值 | 说明 | 值 |
|---|---|---|
| TK_MEDIA_UNPUBLISH_C | 停止发布 | 0 |
| TK_MEDIA_PUBLISHED_C | 开始发布 | 1 |
TK_RENDER_MODE_C
渲染模式
| 枚举值 | 说明 | 值 |
|---|---|---|
| TK_RENDER_MODE_HIDDEN_C | 渲染模式隐藏 | 1 |
| TK_RENDER_MODE_FIT_C | 渲染模式匹配 | 2 |
| TK_RENDER_MODE_ADAPTIVE_C | 渲染模式自适应 | 3 |
TK_MEDIATYPE_C
媒体类型 回调 on_captureaudioframe()、on_capturevideoframe()的参数就是
TK_MEDIATYPE_C
| 枚举值 | 说明 | 值 |
|---|---|---|
| TK_MEDIA_UNKNOW_C | 无 | -1 |
| TK_MEDIA_CAMERA_C | 摄像头 | 0 |
| TK_MEDIA_MIC_C | 麦克风 | 11 |
| TK_MEDIA_SPEAKER_C | 扬声器 | 12 |
| TK_MEDIA_FILE_C | 媒体文件 | 101 |
| TK_MEDIA_SCREEN_C | 屏幕共享 | 102 |
| TK_MEDIA_MEDIA_C | 本地媒体 | 103 |
TK_SOURCETYPE_C
数据源类型
| 枚举值 | 说明 | 值 |
|---|---|---|
| TK_SOURCE_SCREEN_C | 屏幕源 | 0 |
| TK_SOURCE_WINDOW_C | window源 | 1 |
TK_SAMPLEFMT_C
数据存储类型
| 枚举值 | 说明 | 值 |
|---|---|---|
| TK_SAMPLE_FMT_NONE_C | -1 | |
| TK_SAMPLE_FMT_U8_C | unsigned 8 bits | 0 |
| TK_SAMPLE_FMT_S16_C | signed 16 bits | 1 |
| TK_SAMPLE_FMT_S32_C | signed 32 bits | 2 |
| TK_SAMPLE_FMT_FLT_C | float | 3 |
| TK_SAMPLE_FMT_DBL_C | double | 4 |
| TK_SAMPLE_FMT_U8P_C | unsigned 8 bits, planar | 5 |
| TK_SAMPLE_FMT_S16P_C | signed 16 bits, planar | 6 |
| TK_SAMPLE_FMT_S32P_C | signed 32 bits, planar | 7 |
| TK_SAMPLE_FMT_FLTP_C | float, planar | 8 |
| TK_SAMPLE_FMT_DBLP_C | double, planar | 9 |
| TK_SAMPLE_FMT_S64_C | signed 64 bits | 10 |
| TK_SAMPLE_FMT_S64P_C | signed 64 bits, planar | 11 |
| TK_AV_SAMPLE_FMT_NB_C | Number of sample formats. DO NOT USE if linking dynamically | 12 |
TK_LOG_LEVEL_C
打印日志的格式:分为信息、警告、错误等类型 作为结构体struct LoggerInfo的元素来使用
| 枚举值 | 说明 |
|---|---|
| TK_LOG_ALL_C | 所有 |
| TK_LOG_DEBUG_C | 调试 |
| TK_LOG_INFO_C | 信息 |
| TK_LOG_WARNING_C | 警告 |
| TK_LOG_ERROR_C | 错误 |
| TK_LOG_NONE_C | 无 |
TK_KICKOUT_REASON_C
被踢出的原因 回调on_roomkickedout(TK_KICKOUT_REASON_C reason)
| 枚举值 | 说明 |
|---|---|
| TK_KICKOUT_REPEAT_C | 重复登录(同样的身份挤掉) |
| TK_KICKOUT_BY_OTHER_C | 被其他人踢出(老师点击踢出去) |
TK_SERVER_REC_TYPE_C
服务器录制类型 调用startserverrecord() 第一个参数为传入录制的类型
| 枚举值 | 说明 |
|---|---|
| TK_REC_DEFAULT_C | 默认类型 |
| TK_REC_INDEPENDENT_VIDEO_C | 单流 |
| TK_REC_MP3_C | MP3 |
| TK_REC_MIXED_VIDEO_C | 多流 |
TK_SERVER_REC_CONVERSION_C
服务器录制转换 我录制出来的mkv文件需要转换成用户所需的文件 调用startserverrecord() 第二个参数为传入转换录制的类型
| 枚举值 | 说明 |
|---|---|
| TK_REC_CONVERT_NONE_C | 无 |
| TK_REC_CONVERT_WEBM_C | 转换为webm文件 |
| TK_REC_CONVERT_MP4_C | 转换为MP4文件 |
TK_SERVER_REC_LAYOUT_C
服务器录制布局 调用startserverrecord() 第三个参数为传入录制布局的类型
| 枚举值 | 说明 |
|---|---|
| TK_REC_LAYOUT_HOR_C | 横屏 |
| TK_REC_LAYOUT_VER_C | 竖屏 |
TK_AUDIO_DEVICE_C
音频设备 回调on_audiodevicestatechanged的第二个参数为
TK_AUDIO_DEVICE
| 枚举值 | 说明 |
|---|---|
| TK_DEVICE_MIC_C | 麦克风 |
| TK_DEVICE_SPEAKER_C | 扬声器 |
TK_DEVICE_STATE_C
设备状态onVideoDeviceStateChanged 回调on_videodevicestatechanged()和on_audiodevicestatechanged()
| 枚举值 | 说明 |
|---|---|
| TK_DEVICE_REMOVE_C | 移除 |
| TK_DEVICE_ADD_C | 添加 |
TK_MEDIA_STATE_C
媒体状态onVideoDeviceStateChanged 回调on_videostatechanged()和on_audiostatechanged()
| 枚举值 | 说明 |
|---|---|
| TK_MEDIA_STATE_FROZEN_C | 暂停 |
| TK_MEDIA_STATE_RESUME_C | 恢复 |
TK_VIDEO_STREAM_TYPE_C
视频流类型 调用setremotevideostreamtype()需要传入此类型的参数
| 枚举值 | 说明 |
|---|---|
| TK_VIDEO_STREAM_BIG_C | 大流 |
| TK_VIDEO_STREAM_SMALL_C | 小流 |
TK_ROOM_TYPE_C
房间类型
| 枚举值 | 说明 |
|---|---|
| TK_ROOM_ONE_TO_ONE_C | 一对一 |
| TK_ROOM_ONE_TO_MANY_C | 一对多 |
VideoProfile_C
视频配置文件
| 元素(类型) | 说明 |
|---|---|
| width(int) | 视频宽 |
| height(int) | 视频高 |
| maxfps(int) | 帧率 |
VideoCanvas_C
视频画布
| 元素(类型) | 说明 |
|---|---|
| view(tk_view) | 窗口句柄 |
| renderMode(TK_RENDER_MODE) | 渲染模式 |
DesktopSource_C
桌面源
| 元素(类型) | 说明 |
|---|---|
| window(void*) | 共享的窗口句柄 |
| type(TK_SOURCETYPE) | 源类型 |
| Rect(struct) | 有效区域大小 |
| mixMic(bool) | 是否混音麦克风数据 |
| mixSpeaker(bool) | 是否混音扬声器数据 |
| cursorMonitor(bool) | 是否追踪鼠标 |
ValidWindow_C
有效窗口
| 元素(类型) | 说明 |
|---|---|
| id(long) | 窗口ID |
| title(std::string) | 窗口主题 |
VideoFrame_C
一帧视频数据
| 元素(类型) | 说明 |
|---|---|
| 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) |
AudioFrame_C
一帧音频数据
| 元素(类型) | 说明 |
|---|---|
| samples(int) | 这一帧的采样次数 |
| bytesPerSample(int) | 样本大小 |
| channels(int) | 通道数 |
| samplesPerSec(int) | 采样率 |
| format(int) | 位深(TK_SAMPLEFMT) |
| buffer(void *) | 数据缓冲区 |
VideoParam_C
视频参数
| 元素(类型) | 说明 |
|---|---|
| width(int) | 宽 |
| height(int) | 高 |
| bitrate(int) | 比特率 |
| fps(int) | 帧率 |
| key_sec(int) |
AudioParam_C
音频参数
| 元素(类型) | 说明 |
|---|---|
| samplerate | 采样率 |
| bitrate | 采样位数 |
| channel | 通道 |
LoggerInfo_C
日志信息
| 元素(类型) | 说明 |
|---|---|
| loglevel(TK_LOG_LEVEL) | 日志的格式 |
| logpath(std::string) | 日志路径 |
| limitsize(int) | 限制大小 MB. 0 for no limit |
VideoStats_C
视频统计
| 元素(类型) | 说明 |
|---|---|
| frameWidth(int) | 帧宽 |
| frameHeight(int) | 帧高 |
| frameRate(int) | 帧率 |
| packetsLost(int) | 丢失包数 |
| totalPackets(int) | 总包数 |
| currentDelay(int) | 当前延时 |
| bitsPerSecond(int) | 每秒传输字节数 |
| netQuality(TK_NET_QUALITY) | 网络状况 |
| timeStamp(int) | 时间戳 |
AudioStats_C
音频统计
| 元素(类型) | 说明 |
|---|---|
| packetsLost(int) | 丢失包数 |
| totalPackets(int) | 总包数 |
| currentDelay(int) | 当前延时 |
| bitsPerSecond(int) | 每秒传输字节数 |
| jitter(int) | 抖动 |
| netQuality(TK_NET_QUALITY) | 网络状况 |
| timeStamp (double) | 时间戳 |
MediaFileInfo_C
媒体文件信息
| 元素(类型) | 说明 |
|---|---|
| duration(int) | 媒体文件总时长 |
| width(int) | 宽 |
| height(int) | 高 |
| fps(int) | 帧率 |
| video(bool) | 是否有视频 |
| audio(bool) | 是否有音频 |
ServerInfo_C
服务器信息
| 元素(类型) | 说明 |
|---|---|
| chinesedesc(std::string) | 中文描述 |
| englishdesc(std::string) | 英文描述 |
| serverareaname(std::string) | 服务器名字 |
| current(bool) | 是否当前 |
ScreenCaptureParameters
桌面共享窗口参数配置,此参数作为updateScreenCaptureParameters 的参数传进去
| 元素(类型) | 说明 |
|---|---|
| excludeWindowList(tk_view*) | 排除窗口句柄的指针(二维指针). 当共享窗口的时候,此接口只支持移除子窗口 |
| excludeWindowCount(int) | 所排除窗口的数量(excludeWindowList指针的大小) |
| windowFocus(int) | 窗口共享前置选项,默认为 0 value = 0:窗口列表中获取的窗口共享的时候默认前置,共享不在窗口列表中的窗口的时候,不前置该窗口 value = 1::所共享的窗口都前置 value = 2:所共享的窗口都不前置 |
| enableHighLight(bool) | 是否高亮共享的窗口,默认为 false (未实现) |
| highLightWidth(int) | 所共享窗口的高亮边框的宽度,默认为5 (未实现) |
| highLightColor(unsigned long) | 所共享窗口的高亮边框的颜色,默认为0xFF8CBF26 (未实现) |
TK_SHARESCREENE_STATE
桌面共享窗口状态码,此参数作为onShareScreenStateChanged 的参数传出去
| 元素(类型) | 说明 |
|---|---|
| ERR_SHARESCREENE_SRC_CAPTURE_EXCEPTION_FAILD(601) | 捕获源异常(被关闭或者不能被捕获) |
TKSystemResourceInfo
系统信息,此参数作为onSystemResourceReport 的参数传出去
| 元素(类型) | 说明 |
|---|---|
| sysCpu(unsigned long) | 当前系统的 CPU 使用率,单位 (%) |
| sysMemory(unsigned long) | 当前系统的 memory 使用率,单位 (%) |




