文档首页 > > SDK参考> Windows SDK> SDK使用

SDK使用

分享
更新时间:2020/10/21 GMT+08:00
  1. 创建引擎。

    m_pRtcEngine = create();
    m_pRtcEngine->initialize(domain, appId, &m_engineEventHandler);
    • domain:域名。
    • appId: 应用ID,只有App ID相同的应用程序才能进入同一个房间进行互通。
    • m_engineEventHandler: 引擎回调句柄,指定一个回调事件。SDK通过指定的事件通知应用程序的运行事件,如加入或离开房间等,具体请参见事件回调

    提交工单申请测试domainappId。

  2. 加入房间。

    HRTCUserInfouser;
    memset(&user, 0, sizeof(HRTCUserInfo));
    user.role= m_roleType;
    user.userId = userId;
    user.userName = userName;
    m_pRtcEngine->joinRoom(user, roomId, HRTC_MEDIA_TYPE_VIDEO);
    • m_roleType:用户角色
    • userId本端用户唯一标识
    • userName用户昵称。
    • roomId房间ID,房间唯一标识。
    • HRTC_MEDIA_TYPE_VIDEO媒体类型,具体请参见HRTCMediaType

  3. 设置本地视图。

    m_pRtcEngine->setupLocalView(hwnd, HRTC_VIDEO_DISPLAY_MODE_HIDDEN);
    • hwnd视频窗口句柄
    • HRTC_VIDEO_DISPLAY_MODE_HIDDEN图像填充模式,具体请参见HRTCVideoDisplayMode

  4. 当连麦者加入房间,设置远端窗口。

    void HWEngineEventHandler::onUserJoined(const char* roomId, const char* userId, const char* nickName)
    {
        wchar_t *room = StringUtility::HW_Utf8ToUnicodeW(roomId);
        wchar_t *user = StringUtility::HW_Utf8ToUnicodeW(userId);
        wchar_t *name = StringUtility::HW_Utf8ToUnicodeW(nickName);
        UserJoinInfo* userInfo = new UserJoinInfo();
        _tcscpy(userInfo->roomId, room);
        _tcscpy(userInfo->userId, user);
        _tcscpy(userInfo->nickname, name);
        if(m_hMainWnd != NULL) {
            ::PostMessage(m_hMainWnd, WM_USERJOIN, (WPARAM)userInfo, 0);
        }
        if (room != NULL) {
            free(room);
        }
        if (user != NULL) {
            free(user);
        }
        if (name != NULL) {
            free(name);
        }
    }
    
    //远端用户加入房间触发onUserJoined回调,设置远端窗口。
    if (m_pRtcEngine->startRemoteStreamView(userId, m_wndVideo[nIndex].GetSafeHwnd(), streamType) == 0) {
        m_pRtcEngine->setRemoteViewDisplayMode(userId, HRTC_VIDEO_DISPLAY_MODE_HIDDEN);
    }
    • userId远端用户id,唯一标识。
    • m_wndVideo[nIndex].GetSafeHwnd()视频窗口句柄。
    • streamType视频分辨率,支持全高清,高清,标清,流畅选择。
    • HRTC_VIDEO_DISPLAY_MODE_HIDDEN: 图像填充模式,具体请参见HRTCVideoDisplayMode

  5. 离开房间。

    m_pRtcEngine->leaveRoom();

    根据场景需要,如结束通话、关闭App或App切换至后台时,调用leaveRoom离开当前通话房间。

    至此,互动直播基本流程可以成功运行。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问