PLVLinkMicManager
@interface PLVLinkMicManager : NSObject
连麦管理器
-
delegate
Declaration
Objective-C
@property (nonatomic, weak, readwrite) id<PLVLinkMicManagerDelegate> _Nullable delegate;
Swift
weak var delegate: PLVLinkMicManagerDelegate? { get set }
-
连麦场景类型
Declaration
Objective-C
@property (nonatomic, assign, unsafe_unretained, readwrite) PLVLinkMicSceneType linkMicType;
Swift
var linkMicType: PLVLinkMicSceneType { get set }
-
连麦类型 (YES:音频连麦 NO:视频连麦)
Declaration
Objective-C
@property (nonatomic, assign, unsafe_unretained, readwrite) BOOL linkMicOnAudio;
Swift
var linkMicOnAudio: Bool { get set }
-
本地用户是否为参与者
Declaration
Objective-C
@property (nonatomic, assign, unsafe_unretained, readwrite) BOOL viewer;
Swift
var viewer: Bool { get set }
-
参与者 是否被允许上麦
Declaration
Objective-C
@property (nonatomic, assign, unsafe_unretained, readwrite) BOOL viewerAllow;
Swift
var viewerAllow: Bool { get set }
-
麦克风 是否默认开启
Note
仅在 [joinRtcChannelWithChannelId:] 方法调用前设置有效 YES:开启 NO:关闭;默认值 YESDeclaration
Objective-C
@property (nonatomic, assign, unsafe_unretained, readwrite) BOOL micDefaultOpen;
Swift
var micDefaultOpen: Bool { get set }
-
摄像头 是否默认开启
Note
仅在 [joinRtcChannelWithChannelId:] 方法调用前设置有效 YES:开启 NO:关闭;默认值 NODeclaration
Objective-C
@property (nonatomic, assign, unsafe_unretained, readwrite) BOOL cameraDefaultOpen;
Swift
var cameraDefaultOpen: Bool { get set }
-
摄像头 是否默认前置
Note
仅在 [joinRtcChannelWithChannelId:] 方法调用前设置有效 YES:前置 NO:后置;默认值 YESDeclaration
Objective-C
@property (nonatomic, assign, unsafe_unretained, readwrite) BOOL cameraDefaultFront;
Swift
var cameraDefaultFront: Bool { get set }
-
频道号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, assign, unsafe_unretained, readonly) BOOL hadJoinedRTC;
Swift
var hadJoinedRTC: Bool { 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:关闭)