功能详细说明

关于创建、加入频道

多人连麦 SDK 中提供了三种身份:Master(主播)、LiveGuest(连麦观众)、Guest(观众),一个频道中只能有一个 Master,可以有最多六个 LiveGuest,若干 Guest。

  • 一个频道只能创建一次,创建该频道的用户身份应为 Master
  • 用户只能加入已创建的频道进行多人连麦,加入已有频道进行连麦的用户身份应为 LiveGuest
  • 当某一频道开启了旁路直播,则可以通过获取流地址进行观看,观看者用户身份应为 Guest

所以,一个频道的连麦步骤大体如下:

一. Master 创建并加入一个频道 channel,开启旁路直播,保存视频

mEVRtc.createAndJoinChannel(channel, uid, true, true);

此时名为 channel 的频道已经由一名 Master 用户成功创建了,此频道中当前只有创建频道的用户一个人

二. 一名连麦观众(LiveGuest)想加入 channel 频道

mEVRtc.joinChannel(channel, uid);

此时频道 channel 中有两名用户,其他主播也可以通过第[二]步操作,以 LiveGuest 身份加入连麦,进行多人连麦

注:一个频道中包括 Master 在内最多可以容纳七人。

三. 一名观众(Guest)想观看 channel 频道中的多人连麦视频流,但自己不进行连麦操作

mEVRtc.watchLive(channel);

获取连麦视频流地址后,既可通过播放器观看 channel 频道下的视频流,人数无限制。

旁路直播画中画设置

是否开启旁路推流,以及旁路视频流中画布的布局设置,只有 Master 才有权限设置

设置旁路视频流画布布局可在视图渲染后,通过 mEVRtc.configCompositiongLayout(regions); 方法进行设置,regions 是一个由 EVLayoutRegion 类型对象组成的数组,每个对象中主要包含对应的 uid、isMaster、x、y、width、height 等

注:x、y、width、height 的值区间为 [0,1],按百分比计算

mEVRtc.configCompositiongLayout(regions);

public class EVLayoutRegion {
    //待显示在该区域的连麦用户uid
    private int uid;

    //连麦用户是否为主播
    private boolean isMaster;

    //屏幕里该区域的横坐标,取值范围[0.0,1.0]
    private double x;

    //屏幕里该区域的纵坐标,取值范围[0.0,1.0]
    private double y;

    //该区域的实际宽度,取值范围[0.0,1.0]
    private double w;

    //该区域的实际高度,取值范围[0.0,1.0]
    private double h;
}

枚举值

  • 用户加入频道的身份枚举
名称 数值 含义
RTC_ROLE_MASTER 0 主播
RTC_ROLE_LIVE_GUEST 1 连麦观众
RTC_ROLE_GUEST 2 观众
  • 连麦视频清晰度
名称 数值 含义
RTC_RESOLUTION_HD 0 高清: 1280x720 15fps 1000kbps
RTC_RESOLUTION_SD 1 标清: 640x360 15fps 400kbps
RTC_RESOLUTION_LD 2 流畅: 320x180 15fps 160kbps
  • 回调中的错误码枚举
名称 数值 含义
RTC_ERROR_LIVE_SHOW 1001 播放连麦房间直播错误
RTC_ERROR_RECORD_SHOW 1002 播放连麦房间录播错误
RTC_ERROR_CHANNEL_NOT_EXIST 1003 连麦房间不存在
RTC_ERROR_INVALID_APPID 1004 无效的APPID
RTC_ERROR_CREATE_CHANNEL 1005 主播创建连麦房间失败
RTC_ERROR_CHANNEL_CONFLICT 1006 连麦房间冲突,创建失败
RTC_ERROR_USER_AUTH 1007 用户没有连麦权限
RTC_ERROR_PERMISSION_KEY 1008 获取连麦权限key出错
RTC_ERROR_CHANNEL_EMPTY 1009 传入的连麦房间ID为空
RTC_ERROR_CHANNEL_MAX_USERS 1010 超出房间连麦人数最大限制
RTC_ERROR_MASTER_OFFLINE 1011 主播离开房间
RTC_ERROR_JOIN_CHANNEL 1012 加入互动房间失败
RTC_ERROR_USER_ALREADY_JOINED 1013 用户已经在房间

results matching ""

    No results matching ""