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