BLive 是 BLive SDK 的入口类,它为 App 提供了快速搭建音视频通信的 API。BLiveDelegate 包含 App 调用的主要方法,调用 BLive 的接口最好在同一个线程进行,不建议在不同的线程同时调用。
id<BLiveDelegate>
创建 BLive 单例
+ (instancetype)sharedInstance;
返回
详情
销毁 BLive 单例
+ (void)destroySharedIntance;
设置回调接口
- (id<BLiveDelegate>)delegate;
加入房间
- (void)enterRoom:(BLiveParams *_Nonnull)param;
参数
离开房间
- (void)exitRoom;
切换角色
- (void)switchRole:(BLiveRoleType)role;
主播
观众
BLiveParams
role
switchRole
开启本地视频的预览画面
- (void)startLocalPreview:(BOOL)frontCamera view:(BLiveView *)view;
停止本地视频采集及预览
- (void)stopLocalPreview;
暂停/恢复推送本地的视频数据
- (void)muteLocalVideo:(BOOL)mute;
设置本地画面被暂停期间的替代图片
- (void) setVideoMuteImage:(Image *) image fps:(NSInteger) fps
开始拉取并显示指定用户的远端画面
- (void)startRemoteView:(NSString *)userId streamType:(BLiveVideoStreamType)streamType view:(BLiveView *)view;
更新远端视频画面的窗口 ( 大小流 )
- (void)updateRemoteView:(BLiveView *)view streamType:(BLiveVideoStreamType)type forUser:(NSString *)userId;
停止显示远端视频画面,同时不再拉取该远端用户的视频数据流
- (void)stopRemoteView:(NSString *)userId streamType:(BLiveVideoStreamType)streamType;
暂停/恢复接收指定的远端视频流
- (void)muteRemoteVideoStream:(NSString *)userId mute:(BOOL)mute;
暂停/恢复接收所有远端视频流
- (void)muteAllRemoteVideoStreams:(BOOL)mute;
设置视频编码器相关参数
- (void)setVideoEncoderParam:(BLiveVideoEncParam *_Nonnull)param;
设置网络流控相关参数
- (void)setNetworkQosParam:(BLiveNetworkQosParam *)param;
本地图像的渲染设置
- (void)setLocalRenderParams:(BLiveRenderParams *)params;
远端图像的渲染设置
- (void)setRemoteRenderParams:(NSString *)userId streamType:(BLiveVideoStreamType)type params:(BLiveRenderParams *)params;
设置编码器输出的画面镜像模式
- (void)setVideoEncoderMirror:(BOOL)mirror;
开启大小画面双路编码模式
- (int)enableEncSmallVideoStream:(BOOL)enable withQuality:(BLiveVideoEncParam *_Nonnull)smallVideoEncParam;
切换指定远端用户的大小画面
- (void)setRemoteVideoStreamType:(NSString *)userId type:(BLiveVideoStreamType)type;
视频画面截图
- (void)snapshotVideo:(NSString *)userId type:(BLiveVideoStreamType)type sourceType:(BLiveSnapshotSourceType)sourceType completionBlock:(void (^)(UIImage *image))completionBlock;
开启本地音频的采集和上行
- (void)startLocalAudio:(BLiveAudioQuality)quality;
关闭本地音频的采集和上行
- (void)stopLocalAudio;
静音/取消静音本地的音频
- (void)muteLocalAudio:(BOOL)mute;
静音/取消静音指定的远端用户的声音
- (void)muteRemoteAudio:(NSString *)userId mute:(BOOL)mute;
静音/取消静音所有用户的声音
- (void)muteAllRemoteAudio:(BOOL)mute;
设定某一个远端用户的声音播放音量
- (void) setRemoteAudioVolume:(NSString *) userId volume:(int) volume
设置 SDK 采集音量
- (void)setAudioCaptureVolume:(NSInteger)volume;
获取 SDK 采集音量
- (NSInteger)getAudioCaptureVolume;
设置 SDK 播放音量
- (void)setAudioPlayoutVolume:(NSInteger)volume;
获取 SDK 播放音量
- (NSInteger)getAudioPlayoutVolume;
启用音量大小提示
- (void)enableAudioVolumeEvaluation:(NSUInteger)interval;
主播开始混流
- (void)startMixTranscode:(BLiveMixStreamParams *_Nonnull)mixStreamParams;
onMixStreamAdded
主播停止混流
- (void)stopMixTranscode:(NSString *)mixStreamID;
onStopMixStreamTranscode
开始播放合流
- (void)playMixStream:(BLivePlayStreamInfo *_Nonnull)playInfo;
停止播放合流
- (void)stopMixStream:(nullable NSString *) urlString:(nullable NSString *);
onMixStreamRemoved
获取设备管理类 BLiveDeviceManager
- (BLiveDeviceManager *)getDeviceManager;
获取美颜特效类 BLiveBeautyManager
- (BLiveBeautyManager *)getBeautyManager;
开始应用内的屏幕分享(该接口仅支持 iOS 13.0 及以上的 iPhone 和 iPad)
- (void)startScreenCaptureInApp:(BLiveVideoEncParam *)encParams API_AVAILABLE(ios(13.0));
开始全系统的屏幕分享(该接口支持 iOS 11.0 及以上的 iPhone 和 iPad)
- (void)startScreenCaptureByReplaykit:(BLiveVideoEncParam *)encParams 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));
自定义消息发送
- (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:(BLiveLogLevel)level;
启用或禁用控制台日志打印
+ (void)setConsoleEnabled:(BOOL)enabled;
修改日志保存路径
+ (void)setLogDirPath:(NSString *__nullable)path;
设置日志回调
+ (void)setLogDelegate:(id<BLiveLogDelegate> __nullable)logDelegate;
调用实验性 API 接口
- (void)callExperimentalAPI:(NSString *)jsonStr;
iOS
BLive 是 BLive SDK 的入口类,它为 App 提供了快速搭建音视频通信的 API。
BLiveDelegate 包含 App 调用的主要方法,调用 BLive 的接口最好在同一个线程进行,不建议在不同的线程同时调用。
id<BLiveDelegate>
)详细信息
创建 BLive 单例
返回
详情
销毁 BLive 单例
详情
设置回调接口
详情
加入房间
参数
详情
离开房间
详情
切换角色
参数
BLiveRoleType_Anchor 主播,可以发布自己的音视频,同一个房间里最多支持50个主播同时发布音视频
BLiveRoleType_Audience 观众,不能发布自己的音视频流,只能观看房间中其他主播的音视频。如果要发布自己的音视频,需要先通过 switchRole 切换成 主播,同一个房间内同时最多可以容纳 10 万名观众
详情
主播
和观众
两种角色之间来回切换BLiveParams
中的role
字段事先确定用户的角色,也可以在进入房间后通过switchRole
接口动态切换角色开启本地视频的预览画面
参数
详情
停止本地视频采集及预览
暂停/恢复推送本地的视频数据
参数
详情
设置本地画面被暂停期间的替代图片
参数
详情
开始拉取并显示指定用户的远端画面
参数
高清大画面:BLiveVideoStreamTypeBig
低清小画面:BLiveVideoStreamTypeSmall
辅流(屏幕分享):BLiveVideoStreamTypeSub
详情
更新远端视频画面的窗口 ( 大小流 )
参数
停止显示远端视频画面,同时不再拉取该远端用户的视频数据流
参数
高清大画面:BLiveVideoStreamTypeBig
低清小画面:BLiveVideoStreamTypeSmall
辅流(屏幕分享):BLiveVideoStreamTypeSub
详情
暂停/恢复接收指定的远端视频流
参数
详情
暂停/恢复接收所有远端视频流
参数
详情
设置视频编码器相关参数
参数
详情
设置网络流控相关参数
参数
详情
本地图像的渲染设置
参数
远端图像的渲染设置
参数
高清大画面:BLiveVideoStreamTypeBig
低清小画面:BLiveVideoStreamTypeSmall
辅流(屏幕分享):BLiveVideoStreamTypeSub
详情
设置编码器输出的画面镜像模式
参数
详情
开启大小画面双路编码模式
参数
返回
详情
切换指定远端用户的大小画面
参数
详情
视频画面截图
参数
详情
开启本地音频的采集和上行
参数
详情
关闭本地音频的采集和上行
详情
静音/取消静音本地的音频
参数
详情
静音/取消静音指定的远端用户的声音
参数
详情
静音/取消静音所有用户的声音
参数
详情
设定某一个远端用户的声音播放音量
参数
详情
设置 SDK 采集音量
参数
获取 SDK 采集音量
设置 SDK 播放音量
参数
详情
获取 SDK 播放音量
启用音量大小提示
参数
详情
主播开始混流
参数
详情
onMixStreamAdded
通知主播停止混流
参数
详情
onStopMixStreamTranscode
通知,及观众端不能播放该流,端上需要自行移除该流的播放,且做出相关提示开始播放合流
参数
详情
onMixStreamAdded
回调后,播放对应的音视频流停止播放合流
参数
详情
onMixStreamRemoved
回调后,停止播放对应的音视频流获取设备管理类 BLiveDeviceManager
获取美颜特效类 BLiveBeautyManager
开始应用内的屏幕分享(该接口仅支持 iOS 13.0 及以上的 iPhone 和 iPad)
参数
详情
开始全系统的屏幕分享(该接口支持 iOS 11.0 及以上的 iPhone 和 iPad)
参数
详情
停止屏幕采集
返回
暂停屏幕分享
返回
恢复屏幕分享
返回
自定义消息发送
参数
返回
详情
将小数据量的自定义数据嵌入视频帧中
参数
返回
详情
获取 SDK 版本信息
设置log输出级别
参数
启用或禁用控制台日志打印
参数
修改日志保存路径
参数
详情
设置日志回调
调用实验性 API 接口
参数
详情