跳转至

TKRoomManagerObserver

属于TKRoomManager的观察者,其中的器械操作的结果会调用TKRoomManagerObserver中的方法来回调给用户,如果需要监听行为的结果,需要继承TKRoomManagerObserver类来实现

onRoomJoined

  • 简要描述

    成功进入房间的回调 调用joinRoom 或者 joinRoomEx 接口进入房间,成功后会回调. 失败则会以void onError(int errorCode, const std::string& errMsg)回调。 房间内存在其他用户,这些用户会收到void onUserJoined(TKRoomUserPtr peer, bool inList)的回调

  • 接口详情

    void onRoomJoined()

onRoomLeaved

  • 简要描述

    离开房间的回调。调用 leaveRoom 接口离开房间会回调。 如果房间内存在其他的用户,这些用户会收到void onUserLeft(TKRoomUserPtr peer)的回调

  • 接口详情

    void onRoomLeaved()

onConnectionLost

  • 简要描述

    掉线回调

  • 接口详情

    void onConnectionLost()

onError

  • 简要描述

    joinRoom,发布,订阅,取消发布,取消订阅的回调中的错误

  • 接口详情

    void onError(int errorCode, const std::string& errMsg)

参数 说明
errorCode 错误码(详情请见TKRoomDefines.h 文件中的枚举值 TK_ERROR
errMsg 错误信息

onWarning

  • 简要描述

    SDK出现警告的回调

  • 接口详情

    void onWarning(int warningCode)

参数 说明
warningCode 警告码(详情请见TKRoomDefines.h 文件中的枚举值 TK_WARNING

onUserJoined

  • 简要描述

    有用户进入房间

  • 接口详情

    void onUserJoined(TKRoomUserPtr peer, bool inList)

参数 说明
peer(TKRoomUserPtr 用户ID
inList(bool YES:表示该用户是在我之前进入房间,NO:表示该用户是在我之后进入房间

onUserLeft

  • 简要描述

    有用户离开房间时回调

  • 接口详情

    void onUserLeft(TKRoomUserPtr peer)

参数 说明
peer(TKRoomUserPtr 用户ID

onKickedout

  • 简要描述

    我自己被踢出房间时回调

  • 接口详情

    void onKickedout(TK_KICKOUT_REASON reason)

参数 说明
reason(TK_KICKOUT_REASON 被踢原因

onUserPropertyChanged

  • 简要描述

    用户的属性发生变化时回调

  • 接口详情

    void onUserPropertyChanged(tk_uid peerId,const std::string& key,const tk::Variant& value)

参数 说明
peerId(std::string) 用户ID
key 属性关键字
value 属性值

onUserVideoStatus

  • 简要描述

    用户视频状态变化时回调 单流模式:用户视频状态变化时回调 多流模式:用户某一视频设备的视频状态变化回调

  • 接口详情

    void onUserVideoStatus(tk_uid peerId, std::string mediatype,TK_MEDIA_STATUS state)单个设备时有效void onUserVideoStatus(tk_uid peerId, std::string mediatype, std::string deviceId,TK_MEDIA_STATUS state)多个设备时有效

参数 说明
peerId(std::string) 用户ID
mediatype 媒体类型
state 视频发布状态
deviceId 设备id

onUserAudioStatus

  • 简要描述

    用户音频状态变化时回调

  • 接口详情

    1
    2
    3
    4
    5
        void onUserAudioStatus(
            tk_uid peerId, 
            std::string mediatype, 
            std::string deviceId, 
            TK_MEDIA_STATUS state)`
    
参数 说明
peerId(std::string) 用户ID
mediatype 媒体类型
deviceId 设备id
state 音频状态,详情查看 TK_MEDIA_STATUS 文件中的枚举值

onRemotePubMsg

  • 简要描述

    当某用户发送了发布信令消息 pubMsg,若我是该信令的接受对象时,即可收到用户发布的自定义信令的回调

  • 接口详情

    1
    2
    3
    4
    5
    6
    7
    8
    9
        void onRemotePubMsg(
            std::string msgid, 
            std::string msgname, 
            tk_uid fromId, 
            tk_uid toId, 
            tk::Variant data, 
            tk_uid associatedUserID, 
            const std::string& associatedMsgID , 
            long ts)
    
参数 说明
msgid 消息id
msgname 消息名
fromId 消息来源用户id
toId 消息接收者
data 消息数据,可以是Number、String、Map或List
associatedUserID 绑定的用户id
daassociatedMsgIDta 绑定的父级信令id
ts 消息时间戳

onRemoteDelMsg

  • 简要描述

    当某用户发送了删除信令消息 delMsg,若我是该信令的接受对象时,即可收到用户发送的自定义信令的回调

  • 接口详情

    1
    2
    3
    4
    5
    6
    7
    8
    9
        void onRemoteDelMsg(
            std::string msgid, 
            std::string msgname, 
            tk_uid fromId, 
            tk_uid toId, 
            tk::Variant data, 
            tk_uid associatedUserID, 
            const std::string& associatedMsgID , 
            long ts)
    
参数 说明
msgid 消息id
msgname 消息名
fromId 消息来源用户id
toId 消息接收者
data 消息数据,可以是Number、String、Map或List
associatedUserID 绑定的用户id
daassociatedMsgIDta 绑定的父级信令id
ts 消息时间戳

onMessageReceived

  • 简要描述

    当某用户调用sendMessage发送消息,若我是该消息的接受对象时,即可收到用户发送的消息

  • 接口详情

    1
    2
    3
    4
        void onMessageReceived(
            tk_uid peerId, 
            const std::string& message, 
            const tk::VariantMap& extendJson)
    
参数 说明
peerId(std::string) 用户ID
msgid 消息id
message 接收到的消息
extendJson 用户自定义扩展字段

onServerRecordState

  • 简要描述

    录制回放时,录制状态的回调 可以调用 startServerRecord 接口开启服务器录制

  • 接口详情

    void onServerRecordState(TK_RECORDSTATE state, const tk::VariantMap extension = tk::VariantMap())

参数 说明
state 状态值, 详情查看 TKRoomDefines.h 文件中的枚举值
extension 返回录制的相关参数(目前返回:常规录制件和MP4录制件的ID)
  • 使用案例
1
2
3
4
5
void onServerRecordState(TK_RECORDSTATE state, const tk::VariantMap extension = tk::VariantMap()) 
{
    std::string comRecId = extension["comRecId"];
    std::string mp4RecId = extension["mp4RecId"];
}

onVideoStatsReport

  • 简要描述

    自己订阅其他用户视频时的数据统计的回调,1秒/次

  • 接口详情

    void onVideoStatsReport(const VideoStats& stats,tk_uid peerId, const std::string& type)

参数 说明
state 通讯状态信息, 详情查看 VideoStats 文件中的枚举值
peerId 用户ID,表示视频数据是该用户的
type 媒体类型 (可以是媒体文件,屏幕,默认是空值)

onAudioStatsReport

  • 简要描述

    自己订阅其他用户音频时的数据统计的回调,1秒/次

  • 接口详情

    void onAudioStatsReport(const AudioStats& stats,tk_uid peerId, TK_MEDIATYPE mediaType)

参数 说明
state 音频数据对象, 详情查看 AudioStats 文件中的枚举值
peerId 用户ID,表示音频数据是该用户的
type 媒体类型,详情查看 TK_MEDIATYPE 文件中的枚举值

onRtcStatsReport

  • 简要描述

    自己上下行音视频数据统计的回调,1秒/次

  • 接口详情

    void onRtcStatsReport(const RtcStats& stats)

参数 说明
state 音视频数据对象, 详情查看 RtcStats 文件中的枚举值

onMicVolumeReport

  • 简要描述

    本地麦克风音量统计的回调

  • 接口详情

    void onMicVolumeReport(int vol)

参数 说明
vol 麦克风音量

onRemoteAudioVolume

  • 简要描述

    远程控制音量的回调

  • 接口详情

    void onRemoteAudioVolume(tk_uid peerId, int vol)

参数 说明
peerId 用户ID
vol 麦克风音量

onAudioRoomSwitch

  • 简要描述

    房间模式发送变化的回调,纯音频 与音视频 房间切换 房间内所有的用户的视频都会消失

  • 接口详情

    void onAudioRoomSwitch(tk_uid from,bool onlyAudio)

参数 说明
from 切换房间模式的用户ID,即信令发送者ID
onlyAudio true:表示纯音频房间,false:表示音视频房间

onFirstVideoFrame

  • 简要描述

    播放用户音视频时,收到第一帧视频数据的回调 播放某用户视频,渲染视频第一帧时,会收到回调;如果没有unplay某用户的视频,而再次play该用户视频时,不会再次收到此回调 单流模式:播放用户视频,渲染视频第一帧回调 多流模式:播放用户某一设备视频,渲染视频第一帧回调 默认是:单流模式。

  • 接口详情

    void onFirstVideoFrame(int width, int height,tk_uid peerId, std::string mediaType)

参数 说明
width 视频宽
height 视频高
peerId 用户ID
mediaType 媒体类型

onFirstAudioFrame

  • 简要描述

    播放用户音视频时,收到第一帧音频数据的回调

  • 接口详情

    void onFirstAudioFrame(tk_uid peerId, TK_MEDIATYPE mediaType)

参数 说明
peerId 用户ID
mediaType 媒体类型

onVideoStateChanged

  • 简要描述

    观看用户音视频过程中,视频状态变化的回调

  • 接口详情

    void onVideoStateChanged(std::string connectionId, std::string id, TK_MEDIA_STATE state)

参数 说明
connectionId 用户ID
id 媒体类型(media、screen、camera device id)
state 视频的状态(暂停和继续)详情请查看 TK_MEDIA_STATE

onAudioStateChanged

  • 简要描述

    观看用户音视频过程中,音频状态变化的回调

  • 接口详情

    void onAudioStateChanged(std::string connectionId , TK_MEDIATYPE mediaType , TK_MEDIA_STATE state)

参数 说明
mediaType(TK_MEDIATYPE 媒体类型
state(TK_MEDIA_STATE 媒体状态

onShareMediaState

  • 简要描述

    用户分享媒体流时,媒体流状态变化的回调 可调用 playMediaFile 接口播放该媒体流 调用startShareMediaFile()stopShareMediaFile() 会触发这个回调

  • 接口详情

    void onShareMediaState(tk_uid peerId, TK_MEDIA_STATUS state)

参数 说明
peerId 用户ID
state 媒体状态

onShareScreenState

  • 简要描述

    用户桌面共享时,状态变化的回调playScreen 调用startShareScreen()stopShareScreen()会触发次回调

  • 接口详情

    void onShareScreenState(tk_uid peerId, TK_MEDIA_STATUS state)

参数 说明
peerId 用户ID
state 媒体状态

onVideoSizeChange

  • 简要描述

    视频分辨率发生变化回调

  • 接口详情

    void onVideoSizeChange(tk_uid peerId,int w,int h)

参数 说明
peerId 用户ID
w 视频宽
h 视频高
  • 注意

    此回调接口目前没有实现

onMediaFileProgress

  • 简要描述

    分享媒体进度回调 调用startShareMediaFile()会触发回调

  • 接口详情

    void onMediaFileProgress(uint64_t pos, uint64_t total)

参数 说明
pos 当前时长
total 总时长

onVideoDeviceStateChanged

  • 简要描述

    视频设备状态改变的回调 当视频设备状态改变(插入或移除)时,将调用该函数

  • 接口详情

    void onVideoDeviceStateChanged(const std::string& deviceId, TK_DEVICE_STATE deviceState)

参数 说明
deviceId 设备ID
deviceState 设备状态,详情查看 TK_DEVICE_STATE

onAudioDeviceStateChanged

  • 简要描述

    音频设备状态改变的回调 当音频设备状态改变(插入或移除)时,将调用该函数

  • 接口详情

    1
    2
    3
    4
        void onAudioDeviceStateChanged(
            const std::string& deviceId,
            TK_AUDIO_DEVICE deviceType,
            TK_DEVICE_STATE deviceState)
    
参数 说明
deviceId 设备ID
deviceType 设备类型(播放设备或录音设备)
deviceState 设备状态,详情查看 TK_DEVICE_STATE

onBecomeBigRoom

  • 简要描述

    进入大教室的回调 当用户数量达到一定数量时触发的房间事件

  • 接口详情

    void onBecomeBigRoom()

onGotUserNumber

  • 简要描述

    通过角色列表获取用户数量的回调 调用getUserNumberByRoles()函数得到结果会以这个回调的方式返回

  • 接口详情

    void onGotUserNumber(int num)

参数 说明
num 返回的数量

onGotUserInfo

  • 简要描述

    通过角色列表获取用户信息

  • 接口详情

    void onGotUserInfo(const std::string& jsonResult)

参数 说明
jsonResult 请求的用户信息

onShareScreenStateChanged

  • 简要描述

    桌面共享中所共享的窗口状态发生变化

  • 接口详情

    void onShareScreenStateChanged(TK_SHARESCREENE_STATE code)

参数 说明
code(TK_SHARESCREENE_STATE 返回的状态码

onSystemResourceReport

  • 简要描述

    系统信息的回调(目前只有CPU、内存信息)

  • 接口详情

    void onSystemResourceReport(const TKSystemResourceInfo& infos)

参数 说明
infos(TKSystemResourceInfo 返回的信息值

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