本文档主要介绍主播如何发布和取消发布本地音视频流。相关函数接口在 c++-sdk 2.5.5 及以上版本支持。
您可以调用 startLocalPreview 接口打开摄像头预览,此时 SDK 会打开摄像头采集,当开始本地渲染第一帧数据时会回调 onFirstVideoFrame 事件。
可以通过 stopLocalPreview 停止本地视频的采集和预览。
BRTCVideoEncParam videoEncParams; videoEncParams.bandWidth = 400; videoEncParams.fps = 15; videoEncParams.width = 640; videoEncParams.height = 360; // 设置视频编码参数 m_pBrtc->setVideoEncoderParam(videoEncParams); BRTCRenderParams renderParam; // 画面不旋转 renderParam.rotation = BRTCVideoRotation_0; // 适配长边模式,短边区域填充黑色 renderParam.fillMode = BRTCVideoFillMode_Fit; // 摄像头画面不镜像 renderParam.mirrorType = BRTCVideoMirrorTypeDisable; // 本地图像渲染设置 m_pBrtc->setLocalRenderParams(renderParams); // 关闭画面编码镜像 m_pBrtc->setVideoEncoderMirror(false); BRTCNetworkQosParam qosParams; qosParams.preference = BRTCVideoQosPreferenceClear; // 设置网络 qos 参数,弱网情况下保清晰 m_pBrtc->setNetworkQosParam(qosParams); // 启用音量大小提示 m_pBrtc->enableAudioVolumeEvaluation(300); BRTCVideoEncParam param; param.fps = 15; param.bandWidth = 100; param.width = 160; param.height = 120; // 打开双路编码功能 m_pBrtc->enableEncSmallVideoStream(true, param); // 打开本地摄像头视频预览 m_pBrtc->startLocalPreview(myView); // 本地视频推送到服务端 m_pBrtc->muteLocalVideo(false); // 停止本地视频采集和预览 m_pBrtc->stopLocalPreview(); m_pBrtc->muteLocalVideo(true);
您可以调用 startLocalAudio 来开启麦克风采集和上行推流,该接口需要您通过 quality 参数确定采集模式。
可以调用 stopLocalAudio 关闭麦克风音频的采集和上行推流。
// 开启麦克风采集,并设置当前场景为:默认音质,介于通话和音乐之间 m_pBrtc->startLocalAudio(BRTCAudioQualityDefault); // 开启麦克风采集示例,并设置当前场景为:语音模式(适合语音通话为主的场景) // m_pBrtc->startLocalAudio(BRTCAudioQualitySpeech); // 开启麦克风采集示例,并设置当前场景为:音乐模式(适合需要高保真传输音乐的场景) // m_pBrtc->startLocalAudio(BRTCAudioQualityMusic); // 发布音频流 m_pBrtc->muteLocalAudio(false); //关闭本地音频的采集和推流 m_pBrtc->stopLocalAudio(); //停止发布音频流 m_pBrtc->muteLocalAudio(true);
在 BRTC 中目前存在两个角色, 主播(Anchor)和观众(Audience)。 进入房间时需要设置角色,如果没有指定角色,目前用户进房间默认都是主播。
BRTCParams params; params.appID = "klskd0sd8sdfooi7we"; params.roomID = "123456"; params.sign = "9sdw9sssq"; BRTCUser user; user.userId = "111111"; params.user = user; m_pBrtc->enterRoom(params); // 切换为主播 m_pBrtc->switchRole(BRTCRoleAnchor); // 打开音频和视频设备,开始推流 m_pBrtc->muteLocalVideo(false); m_pBrtc->muteLocalAudio(false);
发布音视频流
本文档主要介绍主播如何发布和取消发布本地音视频流。
相关函数接口在 c++-sdk 2.5.5 及以上版本支持。
摄像头视频预览和发布
您可以调用 startLocalPreview 接口打开摄像头预览,此时 SDK 会打开摄像头采集,当开始本地渲染第一帧数据时会回调 onFirstVideoFrame 事件。
可以通过 stopLocalPreview 停止本地视频的采集和预览。
麦克风音频采集和发布
您可以调用 startLocalAudio 来开启麦克风采集和上行推流,该接口需要您通过 quality 参数确定采集模式。
可以调用 stopLocalAudio 关闭麦克风音频的采集和上行推流。
角色切换后发布流
在 BRTC 中目前存在两个角色, 主播(Anchor)和观众(Audience)。 进入房间时需要设置角色,如果没有指定角色,目前用户进房间默认都是主播。