BRTC C++ SDK 使用 BRTC 类实例来管理一个本地用户在房间内的行为,在进入房间之前需要先创建并初始化一个 BRTC 类实例对象。
调用 getBRTCShareInstance 即可创建 BRTC 实例对象,请确保在调用其他 API 前先调用该方法创建并初始化。
⚠️ 不要用 delete 销毁该 BRTC 实例对象,应该调用 destroyBRTCShareInstance 来销毁实例。同时确保在同一个线程里调用 getBRTCShareInstance 和 destroyBRTCShareInstance。
class BRTCCore : public BRTCCallback { public: // interface BRTCCallback void onEnterRoom(int result) override; void onExitRoom(uint32_t reason) override; void onUserAudioAvailable(const char* userId, bool available) override; void onUserVideoAvailable(const char* userId, bool available) override; void onStatistics(const BRTCStatistics& statistics) override; void onError(BRTCAVError errCode, const char* errMsg, void* extraInfo) override; private: BRTC* m_pBrtc = nullptr; } BRTCCore::BRTCCore() { m_pBrtc = getBRTCShareInstance(); m_pBrtc->setCallback(this); } BRTCCore::~BRTCCore() { destroyBRTCShareInstance(); m_pBrtc = nullptr; } void BRTCCore::enterRoom() { BRTCParams params; params.appID = "klskd0sd8sdfooi7we"; params.roomID = "123456"; params.sign = "9sdw9sssq"; BRTCUser user; user.userId = "111111"; params.user = user; m_pBrtc->enterRoom(params); }
通过设置事件回调接口 BRTCCallback ,您可以监听 SDK 在运行期间所发生的错误信息、警告信息、以及各种音视频事件,根据这些回调决定业务的后续动作。
class BRTCCore : public BRTCCallback { public: // interface BRTCCallback void onEnterRoom(int result) override; void onExitRoom(uint32_t reason) override; void onUserAudioAvailable(const char* userId, bool available) override; void onUserVideoAvailable(const char* userId, bool available) override; void onStatistics(const BRTCStatistics& statistics) override; void onError(BRTCAVError errCode, const char* errMsg, void* extraInfo) override; private: BRTC* m_pBrtc = nullptr; } BRTCCore::BRTCCore() { m_pBrtc = getBRTCShareInstance(); m_pBrtc->setCallback(this); }
在调用 enterRoom 接口时需要填写输入关键参数 BRTCParams。
准备好参数后,就可以调用 enterRoom 接口函数进入房间了。
void BRTCCore::enterRoom() { BRTCParams params; params.appID = "klskd0sd8sdfooi7we"; params.roomID = "123456"; params.sign = "9sdw9sssq"; BRTCUser user; user.userId = "111111"; params.user = user; m_pBrtc->enterRoom(params); }
进入房间事件回调
void BRTCCore::onEnterRoom(int result) { LOG(INFO) << "onEnterRoom, result[" << result << "]"; if (result > 0) { // Success } else { // Fail } }
调用 exitRoom 接口即可退出当前的房间,SDK 会在退房结束后通过 onExitRoom 回调事件通知您。
exitRoom
onExitRoom
// 调用接口主动退出房间 m_pBrtc->exitRoom(); void BRTCCore::onExitRoom(uint32_t reason) { LOG(INFO) << "reason[" << reason << "]"; // 添加退出房间回调的处理逻辑 }
加入和离开房间
BRTC C++ SDK 使用 BRTC 类实例来管理一个本地用户在房间内的行为,在进入房间之前需要先创建并初始化一个 BRTC 类实例对象。
创建 BRTC 实例对象
调用 getBRTCShareInstance 即可创建 BRTC 实例对象,请确保在调用其他 API 前先调用该方法创建并初始化。
⚠️ 不要用 delete 销毁该 BRTC 实例对象,应该调用 destroyBRTCShareInstance 来销毁实例。同时确保在同一个线程里调用 getBRTCShareInstance 和 destroyBRTCShareInstance。
监听 SDK 的事件
通过设置事件回调接口 BRTCCallback ,您可以监听 SDK 在运行期间所发生的错误信息、警告信息、以及各种音视频事件,根据这些回调决定业务的后续动作。
进房间参数
在调用 enterRoom 接口时需要填写输入关键参数 BRTCParams。
进入房间
准备好参数后,就可以调用 enterRoom 接口函数进入房间了。
进入房间事件回调
退出房间
调用
exitRoom接口即可退出当前的房间,SDK 会在退房结束后通过onExitRoom回调事件通知您。