房间管理
1、加入/离开房间
- 加入房间
virtual int JoinRoom(const std::string& room_token_) = 0;
此方法为异步方法,执行结果在 QNRTCRoomListener::OnJoinResult
进行通知,错误码请参考错误码列表;
- 离开房间
virtual int LeaveRoom() = 0;
此方法为用户主动退出房间,为同步方法,没有回调通知;
2、踢人
将用户 user_id_ 踢出房间
virtual int KickoutUser(const std::string& user_id_) = 0;
此方法需要拥有 admin
权限(获取RoomToken
时指定)才可以踢人成功,此方法为异步方法,执行结果通过 QNRTCRoomListener::OnKickoutResult
进行通知;
3、Mute 本地音/视频
- 静默本地已发布视频流,置为
true
后,远端用户用户看到的视频画面将为黑色,本地预览也为黑色,置为false
后,取消静默,恢复原状;
virtual int MuteVideo(bool mute_flag_) = 0;
- 静默本地已发布音频流,置为
true
后,远端用户用户将无法听你到你的声音,置为false
后,取消静默,恢复原状;
virtual int MuteAudio(bool mute_flag_) = 0;
4、统计信息
设置统计信息回调的时间间隔,当 period_second_
为 0 时,关闭统计回调
virtual void EnableStatisticCallback(int32_t period_second_ = 5) = 0;
统计结果将通过以下回调进行定时通知
virtual void OnStatisticsUpdated(const StatisticsReport& statistics_) = 0;
5、视频镜像
SDK 为所有的视频渲染提供了镜像功能(左右反转)接口,集成在 QNRTCVideo
中:
// 为指定用户的视频在本地渲染时提供镜像功能
// @param user_id_ 需要镜像的用户 ID
// @param mirror_flag_ 是否镜像
// @return 成功返回 0, 其它请参考错误码列表
virtual int SetMirrorWhenDisplay(const std::string& user_id_, bool mirror_flag_) = 0;