BRTC 是 BRTC SDK 的入口类,它为 App 提供了快速搭建音视频通信的 API。BRTCDelegate 来自 SDK 的各类事件通知,调用 BRTC 的接口最好在同一个线程进行,不建议在不同的线程同时调用。
创建 BRTC 单例
+ (instancetype)sharedInstance;
返回
详情
销毁 BRTC 单例
+ (void)destroySharedIntance;
设置回调接口
- (id<BRTCDelegate>)delegate;
加入房间
- (void)enterRoom:(BRTCParams *_Nonnull)param;
参数
离开房间
- (void)exitRoom;
切换角色
- (void)switchRole:(BRTCRoleType)role;
设置订阅模式(需要在进入房前设置才能生效)
- (void)setDefaultStreamRecvMode:(BOOL)autoRecvAudio video:(BOOL)autoRecvVideo;
开启本地视频的预览画面
- (void)startLocalPreview:(BOOL)frontCamera view:(BRTCView *)view;
停止本地视频采集及预览
- (void)stopLocalPreview;
暂停/恢复推送本地的视频数据
- (void)muteLocalVideo:(BOOL)mute;
设置本地画面被暂停期间的替代图片
- (void) setVideoMuteImage:(Image *) image fps:(NSInteger) fps
开始拉取并显示指定用户的远端画面
- (void)startRemoteView:(NSString *)userId streamType:(BRTCVideoStreamType)streamType view:(BRTCView *)view;
更新远端视频画面的窗口 ( 大小流 )
- (void)updateRemoteView:(BRTCView *)view streamType:(BRTCVideoStreamType)type forUser:(NSString *)userId;
停止显示远端视频画面,同时不再拉取该远端用户的视频数据流
- (void)stopRemoteView:(NSString *)userId streamType:(BRTCVideoStreamType)streamType;
停止订阅所有远端用户的视频流,并释放全部渲染资源
- (void)stopAllRemoteView;
暂停/恢复接收指定的远端视频流
- (void)muteRemoteVideoStream:(NSString *)userId streamType:(BRTCVideoStreamType)streamType mute:(BOOL)mute;
暂停/恢复接收所有远端视频流
- (void)muteAllRemoteVideoStreams:(BOOL)mute;
设置视频编码器相关参数
- (void)setVideoEncoderParam:(BRTCVideoEncParam *_Nonnull)param;
设置网络流控相关参数
- (void)setNetworkQosParam:(BRTCNetworkQosParam *)param;
本地图像的渲染设置
- (void)setLocalRenderParams:(BRTCRenderParams *)params;
远端图像的渲染设置
- (void)setRemoteRenderParams:(NSString *)userId streamType:(BRTCVideoStreamType)type params:(BRTCRenderParams *)params;
设置编码器输出的画面镜像模式
- (void)setVideoEncoderMirror:(BOOL)mirror;
设置重力感应的适配模式
- (void)setGSensorMode:(BRTCGSensorMode)mode;
开启大小画面双路编码模式
- (int)enableEncSmallVideoStream:(BOOL)enable withQuality:(BRTCVideoEncParam *_Nonnull)smallVideoEncParam;
切换指定远端用户的大小画面
- (void)setRemoteVideoStreamType:(NSString *)userId type:(BRTCVideoStreamType)type;
视频画面截图
- (void)snapshotVideo:(NSString *)userId type:(BRTCVideoStreamType)type sourceType:(BRTCSnapshotSourceType)sourceType completionBlock:(void (^)(UIImage *image))completionBlock;
开启本地音频的采集和上行
- (void)startLocalAudio:(BRTCAudioQuality)quality;
关闭本地音频的采集和上行
- (void)stopLocalAudio;
静音/取消静音本地的音频
- (void)muteLocalAudio:(BOOL)mute;
静音/取消静音指定的远端用户的声音
- (void)muteRemoteAudio:(NSString *)userId mute:(BOOL)mute;
静音/取消静音所有用户的声音
- (void)muteAllRemoteAudio:(BOOL)mute;
设置 SDK 采集音量
- (void)setAudioCaptureVolume:(NSInteger)volume;
获取 SDK 采集音量
- (NSInteger)getAudioCaptureVolume;
设置 SDK 播放音量
- (void)setAudioPlayoutVolume:(NSInteger)volume;
获取 SDK 播放音量
- (NSInteger)getAudioPlayoutVolume;
启用音量大小提示
- (void)enableAudioVolumeEvaluation:(NSUInteger)interval;
获取设备管理类 BRTCDeviceManager
- (BRTCDeviceManager *)getDeviceManager;
获取美颜特效类 BRTCBeautyManager
- (BRTCBeautyManager *)getBeautyManager;
添加水印 setWatermark
- (void)setWatermark:(BRTCImage *)image streamType:(BRTCVideoStreamType)streamType rect:(CGRect)rect;
获取音效管理类 getAudioEffecter
- (nullable BRTCAudioEffecter *)getAudioEffecter;
开始应用内的屏幕分享(该接口仅支持 iOS 13.0 及以上的 iPhone 和 iPad)
- (void)startScreenCaptureInApp:(BRTCVideoEncParam *)encParams streamType:(BRTCVideoStreamType)streamType view:(nullable BRTCView *)view API_AVAILABLE(ios(13.0));
开始全系统的屏幕分享(该接口支持 iOS 11.0 及以上的 iPhone 和 iPad)
- (void)startScreenCaptureByReplaykit:(BRTCVideoEncParam *)encParams streamType:(BRTCVideoStreamType)streamType view:(nullable BRTCView *)view appGroup:(NSString *)appGroup API_AVAILABLE(ios(11.0));
停止屏幕采集
- (int)stopScreenCapture API_AVAILABLE(ios(11.0));
暂停屏幕分享
- (int)pauseScreenCapture API_AVAILABLE(ios(11.0));
恢复屏幕分享
- (int)resumeScreenCapture API_AVAILABLE(ios(11.0));
设置音频帧数据的回调
- (void)setAudioFrameCallbackDelegate:(id<BRTCAudioCallbackDelegate>)delegate;
设置回调音频的格式
- (void)setCustomAudioRenderingFrameCallbackFormat:(BRTCCustomAudioDelegateFormat *)format;
自定义消息发送
- (BOOL)sendCustomCmdMsg:(NSInteger)cmdID data:(NSData *)data reliable:(BOOL)reliable ordered:(BOOL)ordered;
将小数据量的自定义数据嵌入视频帧中
- (BOOL)sendSEIMsg:(NSData *)data repeatCount:(int)repeatCount;
获取 SDK 版本信息
+ (NSString *)getSDKVersion;
设置log输出级别
+ (void)setLogLevel:(BRTCLogLevel)level;
启用或禁用控制台日志打印
+ (void)setConsoleEnabled:(BOOL)enabled;
修改日志保存路径
+ (void)setLogDirPath:(NSString *__nullable)path;
设置日志回调
+ (void)setLogDelegate:(id<BRTCLogDelegate> __nullable)logDelegate;
调用实验性 API 接口
- (void)callExperimentalAPI:(NSString *)jsonStr;
iOS
BRTC 是 BRTC SDK 的入口类,它为 App 提供了快速搭建音视频通信的 API。
BRTCDelegate 来自 SDK 的各类事件通知,调用 BRTC 的接口最好在同一个线程进行,不建议在不同的线程同时调用。
详细信息
创建 BRTC 单例
返回
详情
销毁 BRTC 单例
详情
设置回调接口
详情
加入房间
参数
详情
离开房间
详情
切换角色
参数
BRTCRoleAudience 观众,不能发布自己的音视频流,只能观看房间中其他主播的音视频。如果要发布自己的音视频,需要先通过 switchRole 切换成“主播”,同一个房间内同时最多可以容纳 10 万名观众。
设置订阅模式(需要在进入房前设置才能生效)
参数
开启本地视频的预览画面
参数
详情
停止本地视频采集及预览
暂停/恢复推送本地的视频数据
参数
详情
设置本地画面被暂停期间的替代图片
参数
详情
开始拉取并显示指定用户的远端画面
参数
高清大画面:BRTCVideoStreamTypeBig
低清小画面:BRTCVideoStreamTypeSmall
辅流(屏幕分享):BRTCVideoStreamTypeSub
详情
更新远端视频画面的窗口 ( 大小流 )
参数
停止显示远端视频画面,同时不再拉取该远端用户的视频数据流
参数
高清大画面:BRTCVideoStreamTypeBig
低清小画面:BRTCVideoStreamTypeSmall
辅流(屏幕分享):BRTCVideoStreamTypeSub
详情
停止订阅所有远端用户的视频流,并释放全部渲染资源
暂停/恢复接收指定的远端视频流
参数
详情
暂停/恢复接收所有远端视频流
参数
详情
设置视频编码器相关参数
参数
详情
设置网络流控相关参数
参数
详情
本地图像的渲染设置
参数
远端图像的渲染设置
参数
高清大画面:BRTCVideoStreamTypeBig
低清小画面:BRTCVideoStreamTypeSmall
辅流(屏幕分享):BRTCVideoStreamTypeSub
详情
设置编码器输出的画面镜像模式
参数
详情
设置重力感应的适配模式
参数
开启大小画面双路编码模式
参数
返回
详情
切换指定远端用户的大小画面
参数
详情
视频画面截图
参数
详情
开启本地音频的采集和上行
参数
详情
关闭本地音频的采集和上行
详情
静音/取消静音本地的音频
参数
详情
静音/取消静音指定的远端用户的声音
参数
详情
静音/取消静音所有用户的声音
参数
详情
设置 SDK 采集音量
参数
获取 SDK 采集音量
设置 SDK 播放音量
参数
详情
获取 SDK 播放音量
启用音量大小提示
参数
详情
获取设备管理类 BRTCDeviceManager
获取美颜特效类 BRTCBeautyManager
添加水印 setWatermark
参数
获取音效管理类 getAudioEffecter
开始应用内的屏幕分享(该接口仅支持 iOS 13.0 及以上的 iPhone 和 iPad)
参数
详情
开始全系统的屏幕分享(该接口支持 iOS 11.0 及以上的 iPhone 和 iPad)
参数
详情
停止屏幕采集
返回
暂停屏幕分享
返回
恢复屏幕分享
返回
设置音频帧数据的回调
设置回调音频的格式
参数
详情
自定义消息发送
参数
返回
详情
将小数据量的自定义数据嵌入视频帧中
参数
返回
详情
获取 SDK 版本信息
设置log输出级别
参数
启用或禁用控制台日志打印
参数
修改日志保存路径
参数
详情
设置日志回调
调用实验性 API 接口
参数
详情