PLVRTCStreamerManager

Objective-C

@interface PLVRTCStreamerManager : NSObject

Swift

class PLVRTCStreamerManager : NSObject

RTC 推流管理器

可配置项

  • delegate

    Declaration

    Objective-C

    @property (nonatomic, weak) id<PLVRTCStreamerManagerDelegate> _Nullable delegate;

    Swift

    weak var delegate: PLVRTCStreamerManagerDelegate? { get set }
  • [硬件] 麦克风 是否默认开启

    Note

    仅在 [startLocalMicCameraPreviewByDefault] 方法调用前设置有效 YES:开启 NO:关闭;默认值 YES

    Declaration

    Objective-C

    @property (nonatomic) BOOL micDefaultOpen;

    Swift

    var micDefaultOpen: Bool { get set }
  • [硬件] 摄像头 是否默认开启

    Note

    仅在 [startLocalMicCameraPreviewByDefault] 方法调用前设置有效 YES:开启 NO:关闭;默认值 NO

    Declaration

    Objective-C

    @property (nonatomic) BOOL cameraDefaultOpen;

    Swift

    var cameraDefaultOpen: Bool { get set }
  • [硬件] 摄像头 是否默认前置

    Note

    仅在 [startLocalMicCameraPreviewByDefault] 方法调用前设置有效 YES:前置 NO:后置;默认值 YES

    Declaration

    Objective-C

    @property (nonatomic) BOOL cameraDefaultFront;

    Swift

    var cameraDefaultFront: Bool { get set }

状态

  • 当前 是否已加入RTC房间

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL hadJoinedRTC;

    Swift

    var hadJoinedRTC: Bool { get }
  • 当前 是否推流已开始 (以 ‘sessionId请求成功’ 作为起始点)

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL pushStreamStarted;

    Swift

    var pushStreamStarted: Bool { get }
  • 当前 rtcToken 是否可用

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL rtcTokenAvailable;

    Swift

    var rtcTokenAvailable: Bool { get }
  • 当前 RTC服务 连接状态

    Declaration

    Objective-C

    @property (nonatomic, readonly) int connectionState;

    Swift

    var connectionState: Int32 { get }
  • Deprecated

    已废弃,请使用localNetworkQuality

    当前 本地用户网络状态

    Declaration

    Objective-C

    @property (nonatomic, readonly) int networkQuality;

    Swift

    var networkQuality: Int32 { get }
  • 当前 本地用户网络状态

    Declaration

    Objective-C

    @property (nonatomic, readonly) int localNetworkQuality;

    Swift

    var localNetworkQuality: Int32 { get }
  • 当前 流宽高比 (默认值:PLVBLinkMicStreamScale16_9)

    Declaration

    Objective-C

    @property (nonatomic, readonly) int streamScale;

    Swift

    var streamScale: Int32 { get }
  • 当前 流清晰度 (默认值:PLVBLinkMicStreamQuality180P)

    Declaration

    Objective-C

    @property (nonatomic, readonly) int streamQuality;

    Swift

    var streamQuality: Int32 { get }
  • 当前 推流质量等级 (需要外部根据实际情况传入)

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *_Nonnull streamQualityLevel;

    Swift

    var streamQualityLevel: String { get }
  • 视频流画质偏好

    Declaration

    Objective-C

    @property (nonatomic, readonly) int videoQosPreference;

    Swift

    var videoQosPreference: Int32 { get }
  • 当前 混流布局模式 (值不为 1、2、3 的情况下,默认以 PLVRTCStreamerMixLayoutType_Single 作替代使用)

    Declaration

    Objective-C

    @property (nonatomic, readonly) PLVRTCStreamerMixLayoutType mixLayoutType;

    Swift

    var mixLayoutType: PLVRTCStreamerMixLayoutType { get }
  • 当前 本地视频预览画面 镜像类型

    Declaration

    Objective-C

    @property (nonatomic, readonly) int localVideoMirrorMode;

    Swift

    var localVideoMirrorMode: Int32 { get }
  • 当前 本地摄像头 是否前置

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL localCameraFront;

    Swift

    var localCameraFront: Bool { get }
  • 当前 本地闪光灯 是否开启

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL localCameraTorchOpen;

    Swift

    var localCameraTorchOpen: Bool { get }
  • 当前 本地摄像头 是否开启

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL localCameraOpen;

    Swift

    var localCameraOpen: Bool { get }
  • 当前 本地视频流 是否停止推送

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL localVideoStreamMute;

    Swift

    var localVideoStreamMute: Bool { get }
  • 当前 本地麦克风 音量

    Declaration

    Objective-C

    @property (nonatomic, readonly) CGFloat localMicVolume;

    Swift

    var localMicVolume: Double { get }
  • 当前 本地麦克风 是否开启

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL localMicOpen;

    Swift

    var localMicOpen: Bool { get }
  • 当前 本地音频流 是否停止推送

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL localAudioStreamMute;

    Swift

    var localAudioStreamMute: Bool { get }
  • 当前 本地音频流 降噪等级

    Declaration

    Objective-C

    @property (nonatomic, readonly) int localNoiseCancellationLevel;

    Swift

    var localNoiseCancellationLevel: Int32 { get }
  • 当前 支持外接设备 是否开启

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL localExternalDeviceEnabled;

    Swift

    var localExternalDeviceEnabled: Bool { get }
  • 当前 频道连麦功能是否开启(YES:连麦功能已开启 NO:连麦功能已关闭), 新版连麦策略表示 当前频道是否允许观众举手

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL channelLinkMicOpen;

    Swift

    var channelLinkMicOpen: Bool { get }
  • 当前 频道连麦媒体类型

    Declaration

    Objective-C

    @property (nonatomic, readonly) PLVChannelLinkMicMediaType channelLinkMicMediaType;

    Swift

    var channelLinkMicMediaType: PLVChannelLinkMicMediaType { get }
  • 当前 本地视频流镜像类型 (默认值:PLVBRTCVideoMirrorMode_Disabled)

    Declaration

    Objective-C

    @property (nonatomic, readonly) int localVideoStreamMirrorMode;

    Swift

    var localVideoStreamMirrorMode: Int32 { get }
  • 当前 推流的源类型

    Declaration

    Objective-C

    @property (nonatomic, readonly) int publishStreamSourceType;

    Swift

    var publishStreamSourceType: Int32 { get }

数据

  • 当前 频道Id (即房间Id)

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *_Nonnull channelId;

    Swift

    var channelId: String { get }
  • 当前 进入RTC频道的用户RTCId

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *_Nonnull userRTCId;

    Swift

    var userRTCId: String { get }
  • 当前 场次Id

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *_Nonnull sessionId;

    Swift

    var sessionId: String { get }
  • [推流时间] 开始推流的时间戳

    Note

    单位秒,带小数,可精确至毫秒; 以获取 sessionId 成功为起始时间点; 仅在属性 [pushStreamStarted] 为 YES 时有值;

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSTimeInterval startPushStreamTimestamp;

    Swift

    var startPushStreamTimestamp: TimeInterval { get }
  • [推流时间] 已有效推流时长

    Note

    单位秒,带小数,可精确至毫秒; 不包含重连时长;若退至后台期间,推流未断开,也将算入‘已有效推流时长’中; 仅在属性 [pushStreamStarted] 为 YES 时有值;

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSTimeInterval pushStreamValidDuration;

    Swift

    var pushStreamValidDuration: TimeInterval { get }
  • [推流时间] 总推流时长

    Note

    单位秒,带小数,可精确至毫秒; 包含重连时长;即距离 开始推流时间戳 的已过时长; 仅在属性 [pushStreamStarted] 为 YES 时有值;

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSTimeInterval pushStreamTotalDuration;

    Swift

    var pushStreamTotalDuration: TimeInterval { get }
  • [重连时间] 单次重连时长

    Note

    单位秒,带小数,可精确至毫秒; 一次推流中,可能有多次重连,此属性为 单次重连时长;

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSTimeInterval reconnectingThisTimeDuration;

    Swift

    var reconnectingThisTimeDuration: TimeInterval { get }
  • [重连时间] 全部重连累计时长

    Note

    单位秒,带小数,可精确至毫秒; 一次推流中,可能有多次重连,此属性为 全部重连累计时长(包括当前此刻,无论是否 ’重连中‘ 或 ’重连结束‘);

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSTimeInterval reconnectingTotalDuration;

    Swift

    var reconnectingTotalDuration: TimeInterval { get }
  • 当前 本地预览画布模型

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) PLVBRTCVideoViewCanvasModel * currentLocalPreviewCanvasModel
  • 当前 混流用户顺序列表

    Declaration

    Objective-C

    @property (nonatomic, strong, readonly) NSArray<PLVRTCStreamerMixUser *> *_Nonnull mixUserList;

    Swift

    var mixUserList: [PLVRTCStreamerMixUser] { get }

基础调用

  • 创建 RTC推流管理器

    Declaration

    Objective-C

    + (nonnull instancetype)
        rtcStreamerManagerWithRTCType:(nonnull NSString *)rtcType
                            channelId:(nonnull NSString *)channelId;

    Swift

    convenience init(rtcType: String, channelId: String)

    Parameters

    rtcType

    rtc类型值

    channelId

    频道Id

  • 设置AppGroup和rtcType,屏幕共享功能需要使用该方法

    Note

    由外部根据频道信息获取到rtc类型值,同时用户自己生成AppGroup传入; 若AppGroup 或 rtcType 为 nil,则设置失败,无法开启屏幕共享

    Declaration

    Objective-C

    - (void)setupAppGroup:(nonnull NSString *)appGroup
                  rtcType:(nonnull NSString *)rtcType;

    Swift

    func setupAppGroup(_ appGroup: String, rtcType: String)

    Parameters

    appGroup

    appGroup名 一般为 “group.” 开头

    rtcType

    rtc类型值

  • 设置响应新版连麦策略、频道连麦人数和默认频道连麦方式

    Note

    只允许配置一次,建议创建RTC推流管理器后调用 仅新策略且频道允许连麦人数不为0时,新策略生效

    Declaration

    Objective-C

    - (void)setLinkMicNewStrategyEnabled:(BOOL)linkMicNewStrategyEnabled
                        interactNumLimit:(NSUInteger)interactNumLimit
          defaultChannelLinkMicMediaType:
              (PLVChannelLinkMicMediaType)defaultChannelLinkMicMediaType;

    Swift

    func setLinkMicNewStrategyEnabled(_ linkMicNewStrategyEnabled: Bool, interactNumLimit: UInt, defaultChannelLinkMicMediaType: PLVChannelLinkMicMediaType)

    Parameters

    linkMicNewStrategyEnabled

    是否响应新策略

    interactNumLimit

    频道允许连麦最大人数

    defaultChannelLinkMicMediaType

    默认连麦方式

  • 更新 RTC Token

    Declaration

    Objective-C

    - (void)updateRTCTokenWith:(nonnull PLVLinkMicGetTokenModel *)model
                    completion:(nullable void (^)(BOOL))completion;

    Swift

    func updateRTCToken(with model: PLVLinkMicGetTokenModel) async -> Bool

    Parameters

    model

    连麦GetToken模型

    completion

    更新完成回调 (updateResult YES: 更新成功;NO: 更新失败)

  • 配置 本地预览画面模型

    Note

    仅作用于 ‘本地预览画面’ 的相关属性配置;不自动开始预览,不自动开始推流;

    Declaration

    Objective-C

    - (void)setupLocalPreviewWithCanvasModel:(id)canvasModel;

    Swift

    func setupLocalPreview(withCanvasModel canvasModel: Any!)

    Parameters

    canvasModel

    本地预览画面模型

  • 开始 本地麦克风、摄像头画面预览

    Note

    将根据 [micDefaultOpen]、[cameraDefaultOpen]、[cameraDefaultFront] 三项默认值,进行硬件启动;

    Declaration

    Objective-C

    - (void)startLocalMicCameraPreviewByDefault;

    Swift

    func startLocalMicCameraPreviewByDefault()
  • 加入 RTC频道

    Note

    调用必需先行调用 [updateRTCTokenWith:completion:] 进行RTCToken更新; 成功加入将收到 [plvRTCStreamerManager:localUserJoinRTCChannelComplete:] 回调;

    Declaration

    Objective-C

    - (int)joinRTCChannelWithUserRTCId:(nonnull NSString *)userRTCId;

    Swift

    func joinRTCChannel(withUserRTCId userRTCId: String) -> Int32

    Parameters

    userRTCId

    用户RTCId

    Return Value

    执行结果 (0: 成功;<0: 失败)

  • 退出 RTC频道

    Note

    成功加入将收到 [plvRTCStreamerManager:localUserLeaveRTCChannelComplete:] 回调

    Declaration

    Objective-C

    - (int)leaveRTCChannel;

    Swift

    func leaveRTCChannel() -> Int32

    Return Value

    执行结果 (0: 成功;<0: 失败)

  • 角色切换

    Note

    主播:将发布本地流;观众:将停止发布本地流;

    Declaration

    Objective-C

    - (void)switchRoleTypeTo:(id)roleType;

    Swift

    func switchRoleType(to roleType: Any!)

    Parameters

    roleType

    需切换至的 ’角色类型‘

流管理

  • 配置 流宽高比

    Declaration

    Objective-C

    - (void)setupStreamScale:(id)streamScale;

    Swift

    func setupStreamScale(_ streamScale: Any!)

    Parameters

    streamScale

    流宽高比

  • 配置 流清晰度

    Declaration

    Objective-C

    - (void)setupStreamQuality:(id)streamQuality;

    Swift

    func setupStreamQuality(_ streamQuality: Any!)

    Parameters

    streamQuality

    流清晰度,当推流模版开关开启时,根据枚举值自动使用模板

  • 配置推流模版中的推流质量等级

    Declaration

    Objective-C

    - (void)setupStreamQualityLevel:(nonnull NSString *)streamQualityLevel;

    Swift

    func setupStreamQualityLevel(_ streamQualityLevel: String)

    Parameters

    streamQualityLevel

    推流质量等级,只有推流模版开关开启时有效,根据推流模版中的 推流质量等级匹配

  • 配置 本地视频流 的镜像类型

    Note

    该方法仅影响 远端用户观看本地视频流画面的镜像效果,而不影响本地预览画面的镜像效果

    Declaration

    Objective-C

    - (void)setupLocalVideoStreamMirrorMode:(id)mirrorMode;

    Swift

    func setupLocalVideoStreamMirrorMode(_ mirrorMode: Any!)

    Parameters

    mirrorMode

    本地视频流的镜像类型 (默认值:PLVBRTCVideoMirrorMode_Disabled)

  • 配置视频流画质偏好

    Declaration

    Objective-C

    - (void)setupVideoQosPreference:(id)qosPreference;

    Swift

    func setupVideoQosPreference(_ qosPreference: Any!)
  • 配置 混流用户顺序列表

    Declaration

    Objective-C

    - (void)setupMixUserList:
        (nonnull NSArray<PLVRTCStreamerMixUser *> *)mixUserList;

    Swift

    func setupMixUserList(_ mixUserList: [PLVRTCStreamerMixUser])

    Parameters

    mixUserList

    混流用户顺序列表

  • 切换推送流的源类型

    Note

    切换用户推流的源类型 摄像头或屏幕流; 在切换至 PLVBRTCStreamSourceType_Screen(屏幕流) 之前,请确认已经调用过[setupAppGroup:rtcType:]方法

    Declaration

    Objective-C

    - (void)switchLocalUserStreamSourceType:(id)streamSourceType;

    Swift

    func switchLocalUserStreamSourceType(_ streamSourceType: Any!)

    Parameters

    streamSourceType

    流的源类型(默认为:PLVBRTCStreamSourceType_Camera)

  • Undocumented

    Declaration

    Objective-C

    - (void)subscribeStreamWithRTCUserId:(NSString *)rtcUserId renderOnView:(UIView *)renderSuperView mediaType:(PLVBRTCSubscribeStreamMediaType)mediaType;

    Swift

    func subscribeStream(withRTCUserId rtcUserId: String, renderOnView renderSuperView: Any!, mediaType: Any!)
  • Undocumented

    Declaration

    Objective-C

    - (void)unsubscribeStreamWithRTCUserId:(NSString *)rtcUserId;

    Swift

    func unsubscribeStream(withRTCUserId rtcUserId: String)

CDN流管理

  • 开始推流

    Note

    将触发 [plvRTCStreamerManager:pushStreamStartedDidChanged:] 回调,可获知推流是否成功

    Declaration

    Objective-C

    - (void)startPushStreamWithStream:(nonnull NSString *)stream
                              rtmpUrl:(nonnull NSString *)rtmpUrl
                     continueLastLive:(BOOL)isContinue;

    Swift

    func startPushStream(withStream stream: String, rtmpUrl: String, continueLastLive isContinue: Bool)

    Parameters

    stream

    流名

    rtmpUrl

    推流地址

    isContinue

    是否恢复上次未结束的直播(该值如果为YES 表示该场直播延续上次的直播 sessionId会与上场直播相同)

  • 停止推流

    Declaration

    Objective-C

    - (void)stopPushStream;

    Swift

    func stopPushStream()
  • 配置 混流布局模式

    Declaration

    Objective-C

    - (void)setupMixLayoutType:(PLVRTCStreamerMixLayoutType)mixLayoutType;

    Swift

    func setupMixLayoutType(_ mixLayoutType: PLVRTCStreamerMixLayoutType)

    Parameters

    mixLayoutType

    混流布局模式

本地硬件管理

  • 配置 本地视频预览画面 的镜像类型

    Declaration

    Objective-C

    - (void)setupLocalVideoPreviewMirrorMode:(id)mirrorMode;

    Swift

    func setupLocalVideoPreviewMirrorMode(_ mirrorMode: Any!)

    Parameters

    mirrorMode

    本地视频预览画面的镜像类型 (默认值:PLVBRTCVideoMirrorMode_Auto)

  • 切换 本地用户 的前后置摄像头

    Declaration

    Objective-C

    - (void)switchLocalUserCamera:(BOOL)frontCamera;

    Swift

    func switchLocalUserCamera(_ frontCamera: Bool)

    Parameters

    frontCamera

    切换为 前置或后置 摄像头 (YES:前置;NO:后置)

  • 开启或关闭 本地用户 的闪光灯

    Declaration

    Objective-C

    - (void)openLocalUserCameraTorch:(BOOL)openCameraTorch;

    Swift

    func openLocalUserCameraTorch(_ openCameraTorch: Bool)

    Parameters

    openCameraTorch

    开启或关闭 闪光灯 (YES:开启;NO:关闭)

  • 开启或关闭 本地用户 的摄像头

    Note

    开启:采集数据、渲染预览、取消停止本地视频流推送;关闭:停止采集数据、停止渲染预览、停止本地视频流推送; 将触发RTC房间内其他成员,收到回调;

    Declaration

    Objective-C

    - (void)openLocalUserCamera:(BOOL)openCamera
                     completion:(nullable void (^)(int))completion;

    Swift

    func openLocalUserCamera(_ openCamera: Bool) async -> Int32

    Parameters

    openCamera

    开启或关闭 摄像头 (YES:开启;NO:关闭)

  • 开启或关闭 本地用户 的麦克风

    Note

    开启:采集数据、取消停止本地音频流推送;关闭:停止采集数据、停止本地音频流推送; 将触发RTC房间内其他成员,收到回调;

    Declaration

    Objective-C

    - (void)openLocalUserMic:(BOOL)openMic;

    Swift

    func openLocalUserMic(_ openMic: Bool)

    Parameters

    openMic

    开启或关闭 麦克风 (YES:开启;NO:关闭)

  • 设置摄像头的变焦倍数

    Declaration

    Objective-C

    - (void)setCameraZoomRatio:(CGFloat)zoomRatio;

    Swift

    func setCameraZoomRatio(_ zoomRatio: Double)

    Parameters

    zoomRatio

    zoomRatio 变焦

  • 获取摄像头的变焦倍数

    Declaration

    Objective-C

    - (CGFloat)getCameraZoomRatio;

    Swift

    func getCameraZoomRatio() -> Double
  • 获取摄像头的最大变焦倍数

    Declaration

    Objective-C

    - (CGFloat)getMaxCameraZoomRatio;

    Swift

    func getMaxCameraZoomRatio() -> Double

连麦事件管理

  • 开启或关闭 ”视频连麦“,新版策略下表示开启或关闭观众端”视频连麦“举手

    Declaration

    Objective-C

    - (void)openVideoLinkMic:(BOOL)open
           emitCompleteBlock:(nullable void (^)(BOOL))emitCompleteBlock;

    Swift

    func openVideoLinkMic(_ open: Bool, emitComplete emitCompleteBlock: ((Bool) -> Void)? = nil)

    Parameters

    open

    开启或关闭

    emitCompleteBlock

    开启或关闭 ”视频连麦“ 的请求发送结果Block

  • 开启或关闭 ”音频连麦“,新版策略下表示开启或关闭观众端”音频连麦“举手

    Declaration

    Objective-C

    - (void)openAudioLinkMic:(BOOL)open
           emitCompleteBlock:(nullable void (^)(BOOL))emitCompleteBlock;

    Swift

    func openAudioLinkMic(_ open: Bool, emitComplete emitCompleteBlock: ((Bool) -> Void)? = nil)

    Parameters

    open

    开启或关闭

    emitCompleteBlock

    开启或关闭 ”音频连麦“ 的请求发送结果Block

  • 关闭 “连麦功能” ,新版策略表示关闭远端举手

    Note

    区别于 [openVideoLinkMic:emitCompleteBlock:]、[openAudioLinkMic:emitCompleteBlock:] 两个方法,该方法内部自行判断当前连麦类型,去执行“关闭连麦”的操作;

    Declaration

    Objective-C

    - (void)closeLinkMicEmitCompleteBlock:
        (nullable void (^)(BOOL))emitCompleteBlock;

    Swift

    func closeLinkMicEmitComplete(_ emitCompleteBlock: ((Bool) -> Void)? = nil)

    Parameters

    emitCompleteBlock

    关闭 “连麦功能” 的请求发送结果Block

  • 将所有观众下麦

    Declaration

    Objective-C

    - (BOOL)removeAllAudiences;

    Swift

    func removeAllAudiences() -> Bool

连麦用户管理

  • 允许远端用户上麦

    Note

    该方法仅面向 ‘远端用户’;若操作 ‘本地用户’,该方法将调用失败并回调 NO;

    Declaration

    Objective-C

    - (void)allowRemoteUserJoinLinkMic:(nonnull NSDictionary *)userDict
                     emitCompleteBlock:(nullable void (^)(BOOL))emitCompleteBlock;

    Swift

    func allowRemoteUserJoinLinkMic(_ userDict: [AnyHashable : Any], emitComplete emitCompleteBlock: ((Bool) -> Void)? = nil)

    Parameters

    userDict

    用户数据字典

    emitCompleteBlock

    允许用户上麦 的请求发送结果Block

  • 允许远端用户上麦 (兼容有’举手‘概念的用户)

    Note

    该方法仅面向 ‘远端用户’;若操作 ‘本地用户’,该方法将调用失败并回调 NO;

    Declaration

    Objective-C

    - (void)allowRemoteUserJoinLinkMic:(nonnull NSDictionary *)userDict
                             raiseHand:(nullable NSString *)raiseHand
                     emitCompleteBlock:(nullable void (^)(BOOL))emitCompleteBlock;

    Swift

    func allowRemoteUserJoinLinkMic(_ userDict: [AnyHashable : Any], raiseHand: String?, emitComplete emitCompleteBlock: ((Bool) -> Void)? = nil)

    Parameters

    userDict

    用户数据字典

    raiseHand

    用户当前是否举手 (传nil表示不携带相关字段;@“0"表示不举手;@"1"表示举手;仅针对部分用户类型生效;无‘举手’概念的用户,可直接使用 [allowRemoteUserJoinLinkMic:emitCompleteBlock:] 方法)

    emitCompleteBlock

    允许用户上麦 的请求发送结果Block

  • 挂断远端用户的连麦

    Note

    该方法仅面向 ‘远端用户’;若操作 ‘本地用户’,该方法将调用失败并回调 NO;

    Declaration

    Objective-C

    - (void)closeRemoteUserLinkMic:(nonnull NSDictionary *)userDict
                 emitCompleteBlock:(nullable void (^)(BOOL))emitCompleteBlock;

    Swift

    func closeRemoteUserLinkMic(_ userDict: [AnyHashable : Any], emitComplete emitCompleteBlock: ((Bool) -> Void)? = nil)

    Parameters

    userDict

    用户数据字典

    emitCompleteBlock

    挂断远端用户的连麦 的请求发送结果Block

  • 强制挂断远端用户的连麦

    Note

    该方法仅面向 ‘远端用户’;若操作 ‘本地用户’,该方法将调用失败并回调 NO;

    Declaration

    Objective-C

    - (void)forceCloseRemoteUserLinkMic:(nonnull NSDictionary *)userDict
                      emitCompleteBlock:(nullable void (^)(BOOL))emitCompleteBlock;

    Swift

    func forceCloseRemoteUserLinkMic(_ userDict: [AnyHashable : Any], emitComplete emitCompleteBlock: ((Bool) -> Void)? = nil)

    Parameters

    userDict

    用户数据字典

    emitCompleteBlock

    挂断远端用户的连麦 的请求发送结果Block

  • 禁用或取消禁用 远端用户麦克风

    Note

    该方法仅面向 ‘远端用户’;若操作 ‘本地用户’,该方法将调用失败并回调 NO;

    Declaration

    Objective-C

    - (void)muteRemoteUserMic:(nonnull NSDictionary *)userDict
                      muteMic:(BOOL)muteMic
            emitCompleteBlock:(nullable void (^)(BOOL))emitCompleteBlock;

    Swift

    func muteRemoteUserMic(_ userDict: [AnyHashable : Any], muteMic: Bool, emitComplete emitCompleteBlock: ((Bool) -> Void)? = nil)

    Parameters

    userDict

    用户数据字典

    muteMic

    禁用或取消禁用

    emitCompleteBlock

    禁用或取消禁用 远端用户麦克风 的请求发送结果Block

  • 禁用或取消禁用 远端用户摄像头

    Note

    该方法仅面向 ‘远端用户’;若操作 ‘本地用户’,该方法将调用失败并回调 NO; [channelLinkMicMediaType] 为PLVChannelLinkMicMediaType_Audio时 (即’音频连麦‘下),该方法将调用失败;

    Declaration

    Objective-C

    - (void)muteRemoteUserCamera:(nonnull NSDictionary *)userDict
                      muteCamera:(BOOL)muteCamera
               emitCompleteBlock:(nullable void (^)(BOOL))emitCompleteBlock;

    Swift

    func muteRemoteUserCamera(_ userDict: [AnyHashable : Any], muteCamera: Bool, emitComplete emitCompleteBlock: ((Bool) -> Void)? = nil)

    Parameters

    userDict

    用户数据字典

    muteCamera

    禁用或取消禁用

    emitCompleteBlock

    禁用或取消禁用 远端用户摄像头 的请求发送结果Block

美颜管理

  • 初始化美颜功能,初始化结果由代理回调给出

    Declaration

    Objective-C

    - (void)initBeauty;

    Swift

    func initBeauty()
  • 保利威轻美颜初始化

    Declaration

    Objective-C

    - (void)initLightBeauty;

    Swift

    func initLightBeauty()
  • 开启或关闭 美颜处理

    Declaration

    Objective-C

    - (void)enableBeautyProcess:(BOOL)enabled;

    Swift

    func enableBeautyProcess(_ enabled: Bool)

    Parameters

    enabled

    开启或停止 (YES:开启;NO:关闭)

  • 获取美颜管理器

    Declaration

    Objective-C

    - (nonnull PLVBeautyManager *)shareBeautyManager;

    Swift

    func shareBeautyManager() -> PLVBeautyManager

降噪管理

  • Undocumented

    Declaration

    Objective-C

    - (int)switchNoiseCancellationLevelTo:(PLVBLinkMicNoiseCancellationLevel)level;

    Swift

    func switchNoiseCancellationLevel(to level: Any!) -> Int32

外接设备管理

  • Undocumented

    Declaration

    Objective-C

    - (int)enableExternalDevice:(BOOL)enabled;

    Swift

    func enableExternalDevice(_ enabled: Bool) -> Int32