SeatGridView
开播,只有开播后,其他观众才能进入到该语聊房中收听主播的直播。SeatGridView
模块,然后创建一个 SeatGridView 视图对象,并将其添加到自己的视图上。import RTCRoomEngineimport SeatGridViewclass BroadcastController: UIViewController {private let seatGridView: SeatGridView = {let view = SeatGridView()return view}()override func viewDidLoad() {super.viewDidLoad()// 将 seatGridView 添加到视图上,同时设置好布局约束}}
import com.trtc.uikit.livekit.seatGridView.SeatGridView;public class BroadcastActivity extends AppCompatActivity {@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);SeatGridView seatGridView = new SeatGridView(this);addContentView(seatGridView,new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));}}
startVoiceRoom
接口时需要填写关键参数 TUIRoomInfo
,接下来进行详细介绍:TUIRoomInfo
由很多的字段构成,但通常您只需要关心如下几个字段的填写:参数名称 | 字段含义 | 补充说明 | 数据类型 | 填写示例 |
roomId | 房间ID | 只允许包含大小写英文字母(a-z、A-Z)、数字(0-9)及下划线和连词符。 | 字符串 | "room_100001" |
name | 房间名称 | 字符串类型的房间名称。 | 字符串 | "denny`s room" |
seatMode | 上麦模式 | 该字段只有开启麦位控制后生效。 分为“自由上麦模式(freeToTake)”和“申请上麦模式(applyToTake)”。自由上麦模式下台下观众可以自由上麦,无需申请。上麦模式下台下观众上麦需要房主或同意后才能上麦。 | 枚举值 | TUISeatMode.applyToTake |
maxSeatCount | 最大麦位数 | 数字类型的最大麦位数,这里指最多maxSeatCount个人同时在麦上。 | 数字 | 10 |
isSeatEnabled | 是否开启麦位控制 | 布尔类型的麦位控制使能标志符。 | 布尔值 | true |
roomType | 房间类型 | 分为“会议(conference)”和“直播(live)”两种房间类型,语聊属于直播,因此这里使用live。 | 枚举值 | TUIRoomType.live |
TUIRoomInfo
后,就可以调用 startVoiceRoom
接口函数开播了。startMicrophone
接口开启本地麦克风,确保观众可以听到您的声音。// 组装 TRTC 进房参数,请将 TRTCParams 中的各字段都替换成您自己的参数let roomInfo = TUIRoomInfo()roomInfo.roomId = "voice_100001" // 请替换成您自己的房间IDroomInfo.name = "denny`s room" // 请替换成您自己的房间名称roomInfo.seatMode = .applyToTake // 通常视频直播场景下连麦都采用申请上麦模式,若您的业务中观众无需申请才能上麦时,此处可改写为freeToTakeroomInfo.maxSeatCount = 10 // 请替换成您购买的Live套餐包的最大麦位数roomInfo.isSeatEnabled = true // 如果您不需要麦位控制,可以将isSeatEnabled置为falseroomInfo.roomType = .live // 房间类型请确保是直播(live)类型self.seatGridView.startVoiceRoom(roomInfo: roomInfo) { [weak self] roomInfo in// 开播成功guard let self = self else { return }self.seatGridView.startMicrophone {// 打开本地麦克风成功} onError: { code, message in// 打开本地麦克风失败}} onError: { code, message in// 开播失败}
TUIRoomDefine.RoomInfo roomInfo = new TUIRoomDefine.RoomInfo();roomInfo.roomId = "voice_100001"; // 请替换成您自己的房间IDroomInfo.name = "denny's room"; // 请替换成您自己的房间名称roomInfo.maxSeatCount = 10; // 请替换成您购买的Live套餐包的最大麦位数roomInfo.isSeatEnabled = true; // 如果您不需要麦位控制,可以将 isSeatEnabled 置为 falseroomInfo.roomType = TUIRoomDefine.RoomType.LIVE; //房间类型请确保是直播(live)类型roomInfo.seatMode = TUIRoomDefine.SeatMode.APPLY_TO_TAKE; //若您不需要申请后才能上麦,此处也可设为FREE_TO_TAKEseatGridView.startVoiceRoom(roomInfo, new TUIRoomDefine.GetRoomInfoCallback() {@Overridepublic void onSuccess(TUIRoomDefine.RoomInfo roomInfo) {// 开播成功seatGridView.startMicrophone( new TUIRoomDefine.ActionCallback() {@Overridepublic void onSuccess() {// 打开本地麦克风成功}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 打开本地麦克风失败}});}@Overridepublic void onError(TUICommonDefine.Error error, String message) {// 开播失败}});
本页内容是否解决了您的问题?