跳转至

房间参数

调用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 使用率,单位 (%)

© 2016-2023 北京拓课网络科技有限公司 版权所有  京ICP备17018423号-1 京公网安备11010502043461号