本文档主要介绍主播如何发布和取消发布本地音视频流。进入房间后才可以启动摄像头预览和麦克风采集。 目前不支持再进入房间前启动摄像头和麦克风。
相关函数接口在 ios-sdk 2.8.20 及以上版本支持
您可以调用 startLocalPreview 接口打开摄像头预览,此时 SDK 会向系统申请摄像头的使用权限,需要用户授权通过后才会开启摄像头的采集流程。
如果您希望设置本地画面的渲染参数,可以通过调用 setLocalRenderParams 接口来设置本地预览的渲染参数。为防止先开启预览再设置预览参数会出现画面跳动,如果您需要设置预览参数,推荐在开启预览之前调用。
如果您希望控制摄像头的各种控制参数,可以通过调用 BRTCDeviceManager 接口来完成“切换前后摄像头”、“设置对焦模式“、“打开、关闭闪光灯”等一系列操作。
可以通过 stopLocalPreview 停止本地视频的采集和预览。
self.brtc = [BRTC sharedInstance]; self.brtc.delegate = self; BRTCRenderParams *renderParams = [BRTCRenderParams new]; renderParams.fillMode = BRTCVideoFillMode_Fit; //设置本地显示模式为fit模式 [self.brtc setLocalRenderParams:renderParams]; BRTCVideoEncParam *config = [BRTCVideoEncParam new]; config.bandWidth = 800; config.fps = 15; config.width = 480; config.height = 360; //设置编码参数 [self.brtc setVideoEncoderParam:config]; BRTCParams *params = [BRTCParams new]; params.appID = appID; params.sign = sig; params.roomID = tempRoomID; params.userID = userId; //进入房间 [self.brtc enterRoom:params]; //使用前置摄像头,打开本地摄像头视频预览 [self.brtc startLocalPreview:YES view:self.localPreviewView]; //本地视频发布到教室 [self.brtc muteLocalVideo:NO]; //停止本地视频采集和预览 [self.brtc stopLocalPreview]; [self.brtc muteLocalVideo:YES];
您可以调用 startLocalAudio 来开启麦克风采集和上行推流,该接口需要您通过 quality 参数确定采集模式。
可以调用 stopLocalAudio 关闭麦克风音频的采集和上行推流。
//开启麦克风采集,并设置当前场景为:默认音质,介于通话和音乐之间 [self.brtc startLocalAudio:BRTCAudioQualityDefault]; //发布音频流 [self.brtc muteLocalAudio:NO]; //开启麦克风采集示例,并设置当前场景为:语音模式(适合语音通话为主的场景) //[self.brtc startLocalAudio:BRTCAudioQualitySpeech]; // 开启麦克风采集示例,并设置当前场景为:音乐模式(适合需要高保真传输音乐的场景) //[self.brtc startLocalAudio:BRTCAudioQualityMusic]; //停止发布音频流 [self.brtc muteLocalAudio:YES]; //关闭本地音频的采集和推流 [self.brtc stopLocalAudio];
在BRTC中目前存在两个角色, 主播(Anchor)和观众(Audience)。 进入房间时需要设置角色,如果没有指定角色,目前用户进房间默认都是主播。
self.brtc = [BRTC sharedInstance]; //设置回调接口 self.brtc.delegate = self; BRTCVideoEncParam *videoConfig = [BRTCVideoEncParam new]; videoConfig.bandWidth = 1500; videoConfig.width = 640; videoConfig.height = 480; videoConfig.fps = 25; //设置视频编码参数 [self.brtc setVideoEncoderParam:videoConfig]; BRTCParams *params = [BRTCParams new]; params.appID = appID; params.sign = sig; params.roomID = roomID; params.userID = userId; params.role = (strongSelf.role == BRTCRoleAnchor) ? BRTCRoleAnchor : BRTCRoleAudience; //进入房间 [self.brtc enterRoom:params]; //切换为主播 [self.brtc switchRole:BRTCRoleAnchor]; //打开音频和视频设备,开始推流 BRTCViewObject *obj = [self addView:self.userIDTextField.text]; [self.brtc startLocalPreview:YES view:obj.view]; [self.brtc muteLocalVideo:NO]; [self.brtc startLocalAudio:BRTCAudioQualityDefault]; [self.brtc muteLocalAudio:NO]; BRTCRenderParams *params = [[BRTCRenderParams alloc] init]; params.fillMode = BRTCVideoFillMode_Fill; params.mirrorType = BRTCVideoMirrorTypeAuto; //设置本地视频渲染模式 [self.brtc setLocalRenderParams:params];
发布音视频流
本文档主要介绍主播如何发布和取消发布本地音视频流。进入房间后才可以启动摄像头预览和麦克风采集。 目前不支持再进入房间前启动摄像头和麦克风。
相关函数接口在 ios-sdk 2.8.20 及以上版本支持
摄像头视频预览和发布
您可以调用 startLocalPreview 接口打开摄像头预览,此时 SDK 会向系统申请摄像头的使用权限,需要用户授权通过后才会开启摄像头的采集流程。
如果您希望设置本地画面的渲染参数,可以通过调用 setLocalRenderParams 接口来设置本地预览的渲染参数。为防止先开启预览再设置预览参数会出现画面跳动,如果您需要设置预览参数,推荐在开启预览之前调用。
如果您希望控制摄像头的各种控制参数,可以通过调用 BRTCDeviceManager 接口来完成“切换前后摄像头”、“设置对焦模式“、“打开、关闭闪光灯”等一系列操作。
可以通过 stopLocalPreview 停止本地视频的采集和预览。
麦克风音频采集和发布
您可以调用 startLocalAudio 来开启麦克风采集和上行推流,该接口需要您通过 quality 参数确定采集模式。
可以调用 stopLocalAudio 关闭麦克风音频的采集和上行推流。
角色切换后发布流
在BRTC中目前存在两个角色, 主播(Anchor)和观众(Audience)。 进入房间时需要设置角色,如果没有指定角色,目前用户进房间默认都是主播。