实时音视频云

  • 房间管理

    最近更新时间:2018-05-08 22:32:27

    房间表示一个多人的视频会话,本部分介绍如何进行房间管理,获取房间信息以及用户信息,介绍如何使用踢人、mute 等常见功能。

    加入房间

    本地调用 QNRTCManager.joinRoom(String roomToken) 通过 roomToken 加入房间。

    public void joinRoom(String roomToken)
    

    此处 roomToken 需要 App 从 App Server 中获取,App Server 如何生成 roomToken 可查阅RoomToken 的计算

    本地用户加入房间成功后,会触发如下回调:

    本地:

    void onJoinedRoom()
    

    远端:

    void onRemoteUserJoined(String userId)
    

    离开房间

    本地调用 leaveRoom 接口离开房间。

    public void leaveRoom()
    

    本地用户离开房间成功后,会触发如下回调:

    远端:

    void onRemoteUserLeaved(String userId)
    

    房间信息

    获取房间内用户列表

    本地调用 QNRTCManager.getUserList() 接口获取连麦房间中的用户的列表(不包含自己)。

    public ArrayList<String> getUserList()
    

    本地调用 QNRTCManager.getPublishingUserList() 接口获取连麦房间中已发布音/视频的用户的列表(不包含自己)。

    public ArrayList<String> getPublishingUserList()
    

    注意:连麦状态为 QNRoomState.CONNECTED 才可获取相关列表

    获取房间状态信息

    本地调用 QNRTCManager.getRoomState 接口获取当前的房间状态信息,包括 IDLE、CONNECTING、CONNECTED 以及 RECONNECTING 等状态。

    public QNRoomState getRoomState()
    

    踢人

    将 userId 对应的远端用户踢出房间

    public void kickOutUser(String userId)
    

    当本地调用踢人的功能,将 userId 对应的用户踢出房间时,会触发如下回调:

    本地:

    void onUserKickedOut(String userId)
    

    远端:

    void onError(int errorCode, String description)
    

    对应的 errorCode 为 10006(ERROR_KICKED_OUT_OF_ROOM)


    Mute 音/视频

    Mute 本地音/视频

    通过调用 QNRTCManager.muteLocalAudio 接口 mute 本地音频,mute 后远端将无法听到本地的声音

    public void muteLocalAudio(boolean isMute)
    

    通过调用 QNRTCManager.muteLocalVideo 接口 mute 本地视频,mute 后远端将无法看到本地的画面

    public void muteLocalVideo(boolean isMute)
    

    调用了上述接口将本地音视频开启/关闭后,会触发如下回调:

    远端:

    void onRemoteMute(String userId, boolean isAudioMuted, boolean isVideoMuted)
    

    Mute 远端音频

    通过调用 QNRTCManager.muteRemoteAudio 接口 mute 远端音频,mute 后将无法听到远端的声音

    public void muteRemoteAudio(boolean isMute)
    
    以上内容是否对您有帮助?
  • Icon free helper
    Close