本文档主要介绍主播如何发布和取消发布本地音视频流。注意目前 SDK 仅允许进入房间后才可以启动摄像头预览和麦克风采集。
您的应用必须向系统申请摄像头的使用权限,需要用户授权通过后才可以调用 startLocalPreview 接口打开摄像头预览。
📝 您可以借助各种 AI 智能体或者编程工具协助您完成一份兼容各种 Android 版本的申请摄像头权限的代码。
如果您希望设置本地画面的渲染参数,可以通过调用 setLocalRenderParams 接口来设置本地预览的渲染参数。为防止先开启预览再设置预览参数会出现画面跳动,如果您需要设置预览参数,推荐在开启预览之前调用。
可以通过 stopLocalPreview 接口停止本地视频的采集和预览。
// (可选)本地图像渲染设置 BRTCDef.BRTCRenderParams localRenderParams = new BRTCDef.BRTCRenderParams(); localRenderParams.fillMode = BRTCDef.BRTCVideoFillMode.BRTCVideoFillMode_Fit; localRenderParams.rotation = BRTCDef.BRTCVideoRotation.BRTCVideoRotation_0; localRenderParams.mirrorType = BRTCDef.BRTCVideoMirrorType.BRTCVideoMirrorTypeDisable; engine.setLocalRenderParams(localRenderParams); // 使用前置摄像头,打开本地摄像头视频预览 engine.startLocalPreview(true, previewCanvas); // 开始推视频流 engine.muteLocalVideo(false); // 停止推视频流 engine.muteLocalVideo(true); // 停止本地视频采集和预览 engine.stopLocalPreview();
您可以调用 startLocalAudio 来开启麦克风采集。您可以选择以下三种质量模式:
可以调用 stopLocalAudio 关闭麦克风音频的采集并释放对麦克风设备的占用。
注意:调用 startLocalAudio 并不会开始推送音频流,还需要您调用 muteLocalAudio 接口来完成音频流推送或取消推送。
// 开启麦克风采集,并设置当前场景为默认音质 engine.startLocalAudio(BRTCDef.BRTCAudioQuality.BRTCAudioQualityDefault); // 推音频流 engine.muteLocalAudio(false); // 停止推音频流 engine.muteLocalAudio(true); // 停止麦克风采集 engine.stopLocalAudio();
在BRTC中目前存在两个角色, 主播(Anchor)和观众(Audience)。 进入房间时如果没有指定角色参数,默认都是主播。
BRTC engine = BRTC.sharedInstance(context); // 以观众角色进房(不指定角色参数,默认是主播) BRTCDef.BRTCParams BRTCParams = new BRTCDef.BRTCParams(APP_ID, ROOM_ID, USER_ID, USER_SIG, BRTCDef.BRTCRoleType.BRTCRoleAnchor); engine.enterRoom(BRTCParams); // 切换为主播 engine.switchRole(BRTCDef.BRTCRoleType.BRTCRoleAnchor); // 打开麦克风并开始推流 engine.startLocalAudio(BRTCDef.BRTCAudioQuality.BRTCAudioQualityDefault); engine.muteLocalAudio(false); // 打开摄像头并开始推流 engine.startLocalPreview(true, BRTCAdaptCanvas); engine.muteLocalVideo(false);
发布音视频流
本文档主要介绍主播如何发布和取消发布本地音视频流。注意目前 SDK 仅允许进入房间后才可以启动摄像头预览和麦克风采集。
摄像头视频预览和发布
您的应用必须向系统申请摄像头的使用权限,需要用户授权通过后才可以调用 startLocalPreview 接口打开摄像头预览。
📝 您可以借助各种 AI 智能体或者编程工具协助您完成一份兼容各种 Android 版本的申请摄像头权限的代码。
如果您希望设置本地画面的渲染参数,可以通过调用 setLocalRenderParams 接口来设置本地预览的渲染参数。为防止先开启预览再设置预览参数会出现画面跳动,如果您需要设置预览参数,推荐在开启预览之前调用。
可以通过 stopLocalPreview 接口停止本地视频的采集和预览。
麦克风音频采集和发布
您可以调用 startLocalAudio 来开启麦克风采集。您可以选择以下三种质量模式:
可以调用 stopLocalAudio 关闭麦克风音频的采集并释放对麦克风设备的占用。
注意:调用 startLocalAudio 并不会开始推送音频流,还需要您调用 muteLocalAudio 接口来完成音频流推送或取消推送。
角色切换后发布流
在BRTC中目前存在两个角色, 主播(Anchor)和观众(Audience)。 进入房间时如果没有指定角色参数,默认都是主播。