- 房间参数
- 通知者
- 踢人原因
- 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 使用率,单位 (%) |