PLVLinkMicManager
Objective-C
@interface PLVLinkMicManager : NSObject
Swift
class PLVLinkMicManager : NSObject
连麦管理器
-
delegate
Declaration
Objective-C
@property (nonatomic, weak) id<PLVLinkMicManagerDelegate> _Nullable delegate;
Swift
weak var delegate: PLVLinkMicManagerDelegate? { get set }
-
连麦场景类型
Declaration
Objective-C
@property (nonatomic) PLVLinkMicSceneType linkMicType;
Swift
var linkMicType: PLVLinkMicSceneType { get set }
-
连麦类型 (YES:音频连麦 NO:视频连麦)
Declaration
Objective-C
@property (nonatomic) BOOL linkMicOnAudio;
Swift
var linkMicOnAudio: Bool { get set }
-
本地用户是否为参与者
Declaration
Objective-C
@property (nonatomic) BOOL viewer;
Swift
var viewer: Bool { get set }
-
参与者 是否被允许上麦
Declaration
Objective-C
@property (nonatomic) BOOL viewerAllow;
Swift
var viewerAllow: Bool { get set }
-
麦克风 是否默认开启
Note
仅在 [joinRtcChannelWithChannelId:] 方法调用前设置有效 YES:开启 NO:关闭;默认值 YESDeclaration
Objective-C
@property (nonatomic) BOOL micDefaultOpen;
Swift
var micDefaultOpen: Bool { get set }
-
摄像头 是否默认开启
Note
仅在 [joinRtcChannelWithChannelId:] 方法调用前设置有效 YES:开启 NO:关闭;默认值 NODeclaration
Objective-C
@property (nonatomic) BOOL cameraDefaultOpen;
Swift
var cameraDefaultOpen: Bool { get set }
-
摄像头 是否默认前置
Note
仅在 [joinRtcChannelWithChannelId:] 方法调用前设置有效 YES:前置 NO:后置;默认值 YESDeclaration
Objective-C
@property (nonatomic) BOOL cameraDefaultFront;
Swift
var cameraDefaultFront: Bool { get set }
-
[重连时间] 单次重连时长
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 }
-
频道号ID(房间号)
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *_Nonnull channelId;
Swift
var channelId: String { get }
-
本地用户(自己)连麦ID
Declaration
Objective-C
@property (nonatomic, copy, readonly) NSString *_Nonnull userLinkMicId;
Swift
var userLinkMicId: String { get }
-
当前是否已加入RTC频道
Declaration
Objective-C
@property (nonatomic, readonly) BOOL hadJoinedRTC;
Swift
var hadJoinedRTC: Bool { get }
-
当前 本地用户网络状态
Declaration
Objective-C
@property (nonatomic, readonly) int networkQuality;
Swift
var networkQuality: Int32 { get }
-
创建连麦管理器
Note
由外部根据频道信息获取到rtc类型值,并在调用此方法时传入;若传入的rtcType值无效,将创建失败,并返回 nil。
Declaration
Objective-C
+ (nonnull instancetype)linkMicManagerWithRTCType:(nonnull NSString *)rtcType;
Swift
convenience init(rtcType: String)
Parameters
rtcType
rtc类型值
-
更新连麦Token
Note
加入RTC连麦频道前,必须调用此方法更新连麦Token。更新完成将通过 [completion:] 进行回调。 若回调 NO 则表示更新失败,此时不允许加入RTC连麦频道,调用 [joinRtcChannelWithChannelId:] 将失败。
Declaration
Objective-C
- (void)updateLinkMicTokenWith:(nonnull PLVLinkMicGetTokenModel *)model completion:(nullable void (^)(BOOL))completion;
Swift
func updateLinkMicToken(with model: PLVLinkMicGetTokenModel, completion: ((Bool) -> Void)? = nil)
Parameters
model
更新连麦Token所需数据模型
completion
更新完成回调 (YES: 更新成功, NO: 更新失败)
-
加入RTC连麦频道
Note
成功加入将收到 [joinRTCChannelComplete] 回调;调用该方法,将立刻收到返回的 int 值, 小于0表示失败,等于0表示成功。
Declaration
Objective-C
- (int)joinRtcChannelWithChannelId:(nonnull NSString *)channelId userLinkMicId:(nonnull NSString *)userLinkMicId;
Swift
func joinRtcChannel(withChannelId channelId: String, userLinkMicId: String) -> Int32
Parameters
channelId
频道号ID
userLinkMicId
用户连麦ID
-
退出RTC连麦频道
Note
退出RTC连麦频道,成功退出将收到 [leaveRTCChannelComplete:] 回调;Declaration
Objective-C
- (void)leaveRtcChannel;
Swift
func leaveRtcChannel()
-
角色切换
Declaration
Objective-C
- (void)switchClientRoleTo:(id)role;
Swift
func switchClientRole(to role: Any!)
-
添加RTC画面
Declaration
Objective-C
- (void)subscribeStreamWithRTCUserId:(nonnull NSString *)rtcUserId renderOnView:(id)renderSuperView mediaType:(id)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)
-
Undocumented
Declaration
Objective-C
- (void)switchSubscribeStreamMediaTypeWithRTCUserId:(NSString *)rtcUserId mediaType:(PLVBRTCSubscribeStreamMediaType)toMediaType;
Swift
func switchSubscribeStreamMediaType(withRTCUserId rtcUserId: String, mediaType toMediaType: Any!)
-
切换 本地用户 的前后置摄像头
Declaration
Objective-C
- (void)switchLocalUserCamera:(BOOL)frontCamera;
Swift
func switchLocalUserCamera(_ frontCamera: Bool)
Parameters
frontCamera
切换为 前置或后置 摄像头 (YES:前置;NO:后置)
-
开启或关闭 本地用户 的摄像头
Note
开启:采集数据、渲染预览、取消停止本地视频流推送;关闭:停止采集数据、停止渲染预览、停止本地视频流推送; 将触发RTC房间内其他成员,收到回调;
Declaration
Objective-C
- (void)openLocalUserCamera:(BOOL)openCamera;
Swift
func openLocalUserCamera(_ openCamera: Bool)
Parameters
openCamera
开启或关闭 摄像头 (YES:开启;NO:关闭)
-
开启或关闭 本地用户 的麦克风
Note
开启:采集数据、取消停止本地音频流推送;关闭:停止采集数据、停止本地音频流推送; 将触发RTC房间内其他成员,收到回调;
Declaration
Objective-C
- (void)openLocalUserMic:(BOOL)openMic;
Swift
func openLocalUserMic(_ openMic: Bool)
Parameters
openMic
开启或关闭 麦克风 (YES:开启;NO:关闭)