RCRTCLocalUser Class Reference
Inherits from | RCRTCUser : NSObject |
---|---|
Declared in | RCRTCLocalUser.h |
localStreams
本地用户发布的音视频流
@property (nonatomic, copy, readonly) NSArray<RCRTCOutputStream*> *DEPRECATED_MSG_ATTRIBUTE ( "use streams property instead" ) localStreams
Discussion
本地用户发布的音视频流
Declared In
RCRTCLocalUser.h
streams
本地用户发布的音视频流
@property (nonatomic, copy, readonly) NSArray<RCRTCOutputStream*> *streams
Discussion
本地用户发布的音视频流
Declared In
RCRTCLocalUser.h
– setAttributeValue:forKey:message:completion:
设置全局用户属性
- (void)setAttributeValue:(NSString *)attributeValue forKey:(NSString *)key message:(nullable RCMessageContent *)message completion:(nullable RCRTCOperationCallback)completion DEPRECATED_MSG_ATTRIBUTE ( "use setAttribute:forKey:message:completion: API instead" )
Parameters
attributeValue |
属性值 |
---|---|
key |
属性名称 |
message |
是否在设置属性的时候携带消息内容,传空则不往房间中发送消息(也不会收到有用户属性变换的回调) |
completion |
设置完成回调 @discussion 设置用户属性 @remarks 房间管理 |
Discussion
设置全局用户属性
Declared In
RCRTCLocalUser.h
– setAttribute:forKey:message:completion:
设置全局用户属性
- (void)setAttribute:(NSString *)attributeValue forKey:(NSString *)key message:(nullable RCMessageContent *)message completion:(nullable RCRTCOperationCallback)completion
Parameters
attributeValue |
属性值 |
---|---|
key |
属性名称 |
message |
是否在设置属性的时候携带消息内容,传空则不往房间中发送消息(也不会收到有用户属性变换的回调) |
completion |
设置完成回调 @discussion 设置用户属性 @remarks 房间管理 |
Discussion
设置全局用户属性
Declared In
RCRTCLocalUser.h
– deleteAttributes:message:completion:
删除全局用户属性
- (void)deleteAttributes:(NSArray<NSString*> *)attributeKeys message:(nullable RCMessageContent *)message completion:(nullable RCRTCOperationCallback)completion
Parameters
attributeKeys |
属性名称数组 |
---|---|
message |
是否在设置属性的时候携带消息内容,传空则不往房间中发送消息 |
completion |
删除完成回调 @discussion 删除用户属性 @remarks 房间管理 |
Discussion
删除全局用户属性
Declared In
RCRTCLocalUser.h
– getAttributes:completion:
获取全局用户属性
- (void)getAttributes:(NSArray<NSString*> *)attributeKeys completion:(nullable RCRTCAttributeOperationCallback)completion
Parameters
attributeKeys |
属性名称 |
---|---|
completion |
获取结果回调 @discussion 获取用户属性 @remarks 房间管理 |
Discussion
获取全局用户属性
Declared In
RCRTCLocalUser.h
– publishDefaultStreams:
发布本地默认音视频流
- (void)publishDefaultStreams:(nullable RCRTCOperationCallback)completion
Parameters
completion |
发布完成回调 @discussion 发布默认音视频流 @remarks 资源管理 |
---|
Discussion
发布本地默认音视频流
Declared In
RCRTCLocalUser.h
– publishStream:completion:
发布本地指定音视频流
- (void)publishStream:(nullable RCRTCOutputStream *)stream completion:(nullable RCRTCOperationCallback)completion
Parameters
stream |
发布的音视频流 |
---|---|
completion |
发布的音视频流结果 @discussion 发布音视频流 @remarks 资源管理 |
Discussion
发布本地指定音视频流
Declared In
RCRTCLocalUser.h
– publishStreams:completion:
发布多路本地指定音视频流
- (void)publishStreams:(nullable NSArray<RCRTCOutputStream*> *)streams completion:(nullable RCRTCOperationCallback)completion
Parameters
streams |
发布音视频流集合 |
---|---|
completion |
发布的音视频流结果 @discussion 发布多路音视频流 @remarks 资源管理 |
Discussion
发布多路本地指定音视频流
Declared In
RCRTCLocalUser.h
– publishDefaultLiveStreams:
发布本地默认音视频流,直播模式专用
- (void)publishDefaultLiveStreams:(nullable RCRTCLiveOperationCallback)completion
Parameters
completion |
发布完成回调 @discussion 发布主播默认音视频流, 此接口仅直播模式的主播可用, 即 RCRTCRoomType 为 RCRTCRoomTypeLive 可用 @remarks 资源管理 |
---|
Discussion
发布本地默认音视频流,直播模式专用
Declared In
RCRTCLocalUser.h
– publishLiveStream:completion:
发布本地指定音视频流,直播模式专用
- (void)publishLiveStream:(nullable RCRTCOutputStream *)stream completion:(nullable RCRTCLiveOperationCallback)completion
Parameters
stream |
发布的音视频流 |
---|---|
completion |
发布的音视频流结果, 包括此主播的推流 url @discussion 发布直播音视频流, 此接口仅直播模式的主播可用, 即 RCRTCRoomType 为 RCRTCRoomTypeLive 可用 @remarks 资源管理 |
Discussion
发布本地指定音视频流,直播模式专用
Declared In
RCRTCLocalUser.h
– unpublishDefaultStreams:
取消发布本地默认音视频流
- (void)unpublishDefaultStreams:(nullable RCRTCOperationCallback)completion
Parameters
completion |
取消发布完成回调 @discussion 取消发布默认音视频流 @remarks 资源管理 |
---|
Discussion
取消发布本地默认音视频流
Declared In
RCRTCLocalUser.h
– unpublishStream:completion:
取消发布本地指定音视频流
- (void)unpublishStream:(nullable RCRTCOutputStream *)stream completion:(nullable RCRTCOperationCallback)completion
Parameters
stream |
取消发布的音视频流 |
---|---|
completion |
发布的音视频流结果 @discussion 取消发布音视频流 @remarks 资源管理 |
Discussion
取消发布本地指定音视频流
Declared In
RCRTCLocalUser.h
– unpublishStreams:completion:
取消发布多路本地指定音视频流
- (void)unpublishStreams:(nullable NSArray<RCRTCOutputStream*> *)streams completion:(nullable RCRTCOperationCallback)completion
Parameters
streams |
取消发布的音视频流集合 |
---|---|
completion |
发布的音视频流结果 @discussion 取消发布多路音视频流 @remarks 资源管理 |
Discussion
取消发布多路本地指定音视频流
Declared In
RCRTCLocalUser.h
– unpublishDefaultLiveStreams:
取消发布本地默认音视频流,直播模式专用
- (void)unpublishDefaultLiveStreams:(nullable RCRTCOperationCallback)completion
Parameters
completion |
取消发布完成回调 @discussion 取消发布默认音视频流,此接口仅直播模式的主播可用, 即 RCRTCRoomType 为 RCRTCRoomTypeLive 可用 @remarks 资源管理 |
---|
Discussion
取消发布本地默认音视频流,直播模式专用
Declared In
RCRTCLocalUser.h
– unpublishLiveStream:completion:
取消发布本地指定音视频流,直播模式专用
- (void)unpublishLiveStream:(nullable RCRTCOutputStream *)stream completion:(nullable RCRTCOperationCallback)completion
Parameters
stream |
取消发布的音视频流 |
---|---|
completion |
发布的音视频流结果 @discussion 取消发布音视频流,此接口仅直播模式的主播可用, 即 RCRTCRoomType 为 RCRTCRoomTypeLive 可用 @remarks 资源管理 |
Discussion
取消发布本地指定音视频流,直播模式专用
Declared In
RCRTCLocalUser.h
– subscribeStream:tinyStreams:completion:
订阅多路远端指定音视频流
- (void)subscribeStream:(nullable NSArray<RCRTCInputStream*> *)avStreams tinyStreams:(nullable NSArray<RCRTCInputStream*> *)tinyStreams completion:(nullable RCRTCOperationCallback)completion
Parameters
avStreams |
普通流 |
---|---|
tinyStreams |
需要携带小流的流数组 |
completion |
完成的回调 @discussion 订阅流 @remarks 资源管理 |
Discussion
订阅多路远端指定音视频流
同一个流只能填写在 avStreams 或 tinyStreams 中的一个数组中
Declared In
RCRTCLocalUser.h
– subscribeLiveUrl:streamType:completion:
观众订阅合流资源
- (void)subscribeLiveUrl:(nullable NSString *)liveUrl streamType:(RCRTCAVStreamType)streamType completion:(nullable RCRTCLiveUrlCallback)completion
Parameters
liveUrl |
主播直播的 liveUrl (针对 4x版本的主播兼容方案) |
---|---|
streamType |
需要具体订阅的媒体类型 |
completion |
完成的回调, 会依次回调合流的 RCRTCInputStream, 根据 streamType 区分是音频流还是视频流, 如主播发布了音视频流, 此回调会回调两次, 分别为音频的 RCRTCInputStream, 和视频的 RCRTCInputStream 。 @discussion 仅直播模式可用, 作为观众, 直接观看主播的直播, 通过传入主播的 url, 仅观众端可用,此接口可具体订阅音频流或视频流或大小流 Added from 5.1.0 @remarks 媒体流操作 |
Discussion
观众订阅合流资源
Declared In
RCRTCLocalUser.h
– unsubscribeStream:completion:
取消订阅远端指定音视频流
- (void)unsubscribeStream:(nullable RCRTCInputStream *)stream completion:(nullable RCRTCOperationCallback)completion
Parameters
stream |
音视频流 |
---|---|
completion |
音视频流结果 @discussion 取消订阅音视频流 @remarks 资源管理 |
Discussion
取消订阅远端指定音视频流
Declared In
RCRTCLocalUser.h
– unsubscribeStreams:completion:
取消订阅多路远端指定音视频流
- (void)unsubscribeStreams:(nullable NSArray<RCRTCInputStream*> *)streams completion:(nullable RCRTCOperationCallback)completion
Parameters
streams |
音视频流集合 |
---|---|
completion |
音视频流结果 @discussion 取消订阅多路音视频流 @remarks 资源管理 |
Discussion
取消订阅多路远端指定音视频流
Declared In
RCRTCLocalUser.h
– subscribeStreams:tinyStreams:unsubscribeStreams:completion:
同时订阅+取消订阅多路远端指定音视频流
- (void)subscribeStreams:(nullable NSArray<RCRTCInputStream*> *)subStreams tinyStreams:(nullable NSArray<RCRTCInputStream*> *)subTinyStreams unsubscribeStreams:(nullable NSArray<RCRTCInputStream*> *)unsubStreams completion:(nullable RCRTCOperationCallback)completion
Parameters
subStreams |
普通音视频流列表 |
---|---|
subTinyStreams |
需要携带小流的流数组 |
unsubStreams |
取消订阅的音视频数组 |
completion |
完成的回调 @discussion 订阅+取消订阅多路远端指定音视频流 @remarks 资源管理 |
Discussion
同时订阅+取消订阅多路远端指定音视频流
在订阅时, 同一个流只能填写在 subStreams 或 subTinyStreams 中的一个数组中 订阅列表与取消订阅列表不能存在重复的音视频流
Declared In
RCRTCLocalUser.h
– requestJoinOtherRoom:userId:autoMix:extra:completion:
向指定用户发送跨房间连麦请求
- (void)requestJoinOtherRoom:(nullable NSString *)inviteeRoomId userId:(nullable NSString *)inviteeUserId autoMix:(BOOL)autoMix extra:(nullable NSString *)extra completion:(nullable RCRTCOperationCallback)completion DEPRECATED_MSG_ATTRIBUTE ( "use requestRoomPK:forKey:userId:autoMix:extra:completion: API instead" )
Parameters
inviteeRoomId |
被邀请人所在房间号 |
---|---|
inviteeUserId |
被邀请人userId |
autoMix |
是否将被邀请人音视频资源合流到邀请人房间中 |
extra |
附加信息, 可随消息发送给被邀请人 |
completion |
完成的回调 @discussion 仅供连麦使用 @remarks 资源管理 |
Discussion
向指定用户发送跨房间连麦请求
Declared In
RCRTCLocalUser.h
– requestRoomPK:userId:autoMix:extra:completion:
向指定用户发送PK连麦请求
- (void)requestRoomPK:(nullable NSString *)inviteeRoomId userId:(nullable NSString *)inviteeUserId autoMix:(BOOL)autoMix extra:(nullable NSString *)extra completion:(nullable RCRTCOperationCallback)completion
Parameters
inviteeRoomId |
被邀请人所在房间号 |
---|---|
inviteeUserId |
被邀请人userId |
autoMix |
是否将被邀请人音视频资源合流到邀请人房间中 |
extra |
附加信息, 可随消息发送给被邀请人 |
completion |
完成的回调 @discussion 仅供连麦使用 @remarks 资源管理 |
Discussion
向指定用户发送PK连麦请求
Declared In
RCRTCLocalUser.h
– cancelRequestJoinOtherRoom:userId:extra:completion:
取消正在进行中的跨房间连麦请求
- (void)cancelRequestJoinOtherRoom:(nullable NSString *)inviteeRoomId userId:(nullable NSString *)inviteeUserId extra:(nullable NSString *)extra completion:(nullable RCRTCOperationCallback)completion DEPRECATED_MSG_ATTRIBUTE ( "use cancelRequestJoinPK:userId:extra:completion: API instead" )
Parameters
inviteeRoomId |
被邀请人所在房间号 |
---|---|
inviteeUserId |
被邀请人userId |
extra |
附加信息, 可随消息发送给被邀请人 |
completion |
完成的回调 @discussion 仅供连麦使用 @remarks 资源管理 |
Discussion
取消正在进行中的跨房间连麦请求
Declared In
RCRTCLocalUser.h
– cancelRequestJoinPK:userId:extra:completion:
取消正在进行中的PK连麦请求
- (void)cancelRequestJoinPK:(nullable NSString *)inviteeRoomId userId:(nullable NSString *)inviteeUserId extra:(nullable NSString *)extra completion:(nullable RCRTCOperationCallback)completion
Parameters
inviteeRoomId |
被邀请人所在房间号 |
---|---|
inviteeUserId |
被邀请人userId |
extra |
附加信息, 可随消息发送给被邀请人 |
completion |
完成的回调 @discussion 仅供连麦使用 @remarks 资源管理 |
Discussion
取消正在进行中的PK连麦请求
Declared In
RCRTCLocalUser.h
– responseJoinOtherRoom:userId:agree:autoMix:extra:completion:
响应跨房间连麦请求
- (void)responseJoinOtherRoom:(nullable NSString *)inviterRoomId userId:(nullable NSString *)inviterUserId agree:(BOOL)agree autoMix:(BOOL)autoMix extra:(nullable NSString *)extra completion:(nullable RCRTCOperationCallback)completion DEPRECATED_MSG_ATTRIBUTE ( "use responseRoomPK:userId:agree:autoMix:extra:completion: API instead" )
Parameters
inviterRoomId |
邀请人所在的房间号 |
---|---|
inviterUserId |
邀请人userId |
agree |
是否同意加入副房间 |
autoMix |
是否将邀请人音视频资源合流到被邀请人(响应邀请的人)房间中 |
extra |
附加信息, 可随消息发送给邀请人 |
completion |
完成的回调 @discussion 取消订阅多路音视频流 @remarks 资源管理 |
Discussion
响应跨房间连麦请求
Declared In
RCRTCLocalUser.h
– responseRoomPK:userId:agree:autoMix:extra:completion:
响应PK连麦请求
- (void)responseRoomPK:(nullable NSString *)inviterRoomId userId:(nullable NSString *)inviterUserId agree:(BOOL)agree autoMix:(BOOL)autoMix extra:(nullable NSString *)extra completion:(nullable RCRTCOperationCallback)completion
Parameters
inviterRoomId |
邀请人所在的房间号 |
---|---|
inviterUserId |
邀请人userId |
agree |
是否同意加入副房间 |
autoMix |
是否将邀请人音视频资源合流到被邀请人(响应邀请的人)房间中 |
extra |
附加信息, 可随消息发送给邀请人 |
completion |
完成的回调 @discussion 取消订阅多路音视频流 @remarks 资源管理 |
Discussion
响应PK连麦请求
Declared In
RCRTCLocalUser.h
– quitRoomPK:completion:
结束PK连麦
- (void)quitRoomPK:(nullable NSString *)roomId completion:(nullable RCRTCOperationCallback)completion
Parameters
roomId |
副房间 Id |
---|---|
completion |
完成的回调 @discussion 通知所有连麦用户结束连麦 @remarks 资源管理 |
Discussion
结束PK连麦
Declared In
RCRTCLocalUser.h
– switchToAudienceOnSucceed:onFailed:onKicked:
主播切换到观众
- (void)switchToAudienceOnSucceed:(nullable void ( ^ ) ( void ))onSucceed onFailed:(nullable void ( ^ ) ( RCRTCCode code ))onFailed onKicked:(nullable void ( ^ ) ( void ))onKicked
Parameters
onSucceed |
切换成功的回调。 |
---|---|
onFailed |
切换失败会回调,但不影响当前角色继续音视频。 |
onKicked |
切换失败会回调,SDK内部会退出房间并清理所有资源,该用户只能重新加入房间才能继续音视频。 @discussion 当前角色为主播,切换角色到观众,仅限主播使用。 如果当前用户加入了 RCRTCOtherRoom 切换为观众时,RTC SDK 内部会帮其退出所有 RCRTCOtherRoom。 Added from 5.1.9 |
Discussion
主播切换到观众
Declared In
RCRTCLocalUser.h
– switchToBroadcaster:onSucceed:onFailed:onKicked:
观众切换到主播
- (void)switchToBroadcaster:(NSArray<RCRTCOutputStream*> *)publishStreams onSucceed:(nullable void ( ^ ) ( RCRTCLiveInfo *liveInfo ))onSucceed onFailed:(nullable void ( ^ ) ( RCRTCCode code ))onFailed onKicked:(nullable void ( ^ ) ( void ))onKicked
Parameters
publishStreams |
切换成主播后需要发布的流。 |
---|---|
onSucceed |
切换成功的回调 |
onFailed |
切换失败会回调,但不影响当前角色继续音视频。 |
onKicked |
切换失败会回调,SDK内部会退出房间并清理所有资源,该用户只能重新加入房间才能继续音视频。 @discussion 观众切换角色到主播,仅限观众使用。 Added from 5.1.9 |
Discussion
观众切换到主播
Declared In
RCRTCLocalUser.h
– setEnableSEI:completion:
设置开启 SEI 功能
- (void)setEnableSEI:(BOOL)enable completion:(void ( ^ ) ( BOOL isSuccess , RCRTCCode errCode ))completion
Parameters
enable |
YES 开启,NO 不开启,默认 NO |
---|---|
completion |
开启结果的回调 |
Discussion
设置开启 SEI 功能
开启 SEI 功能观众身份调用无效,观众不允许发布流,所以不具备 SEI 能力。 Added from 5.2.5
Declared In
RCRTCLocalUser.h
– sendSEI:
发送媒体增强补充信息
- (RCRTCCode)sendSEI:(NSString *)SEI
Parameters
SEI |
数据字符 |
---|
Return Value
0 成功,非 0 失败,返回具体错误码 Added from 5.2.5
Discussion
发送媒体增强补充信息
此接口可在开发者推流传输音视频流数据并且[setEnableSEI] 开启SEI 功能的同时,发送流媒体增强补充信息来同步一些其他附加信息。 一般如同步音乐歌词或视频画面精准布局等场景,可选择使用发送 SEI。当推流方发送 SEI 后,拉流方可通过 RCRTCRoomEventDelegate 监听 [didReceiveSEI] & [didReceiveLiveStreamSEI] 的回调获取 SEI 内容。由于 SEI 信息跟随视频帧,由于网络问题有可能丢帧,因此 SEI 信息也有可能丢,为解决这种情况,应该在限制频率内多发几次。限制频率:1秒钟不要超过30次。SEI 数据长度限制为 4096 字节。
Declared In
RCRTCLocalUser.h