List<RCRTCOutputStream> getStreams()
不含自定义视频流
boolean containsStream(RCRTCOutputStream stream)
stream - 要判断的流void publishDefaultStreams(IRCRTCResultCallback callback)
callback - 发布资源结果回调void publishDefaultLiveStreams(IRCRTCResultDataCallback<RCRTCLiveInfo> callBack)
callBack - 发布资源结果回调void unpublishDefaultStreams(IRCRTCResultCallback callback)
callback - 发布结果void unpublishDefaultLiveStreams(IRCRTCResultCallback callback)
callback - void publishStreams(List<? extends RCRTCOutputStream> streams, IRCRTCResultCallback callBack)
streams - 音视频流集合callBack - 发布回调void unpublishStreams(List<RCRTCOutputStream> streams, IRCRTCResultCallback callBack)
streams - 音视频流集合callBack - 取消发布回调void publishStream(RCRTCOutputStream stream, IRCRTCResultCallback callBack)
stream - 音视频流callBack - 发布回调void unpublishStream(RCRTCOutputStream stream, IRCRTCResultCallback callBack)
stream - 音视频流callBack - 取消发布回调void publishLiveStream(RCRTCOutputStream stream, IRCRTCResultDataCallback<RCRTCLiveInfo> callBack)
stream - 音视频流callBack - 发布回调void unpublishLiveStream(RCRTCOutputStream stream, IRCRTCResultCallback callback)
stream - callback - void subscribeStreams(List<? extends RCRTCInputStream> streams, IRCRTCResultCallback callBack)
streams - 音视频流集合callBack - 订阅回调void subscribeStream(RCRTCInputStream stream, IRCRTCResultCallback callBack)
stream - 音视频流callBack - 订阅回调void unsubscribeStreams(List<? extends RCRTCInputStream> streams, IRCRTCResultCallback callBack)
streams - 音视频流集合callBack - 取消订阅回调void unsubscribeStream(RCRTCInputStream stream, IRCRTCResultCallback callBack)
stream - 音视频流callBack - 取消订阅回调void setAttributeValue(String key, String value, MessageContent message, IRCRTCResultCallback callback)
value - 属性值key - 属性名称message - 是否在设置属性的时候携带消息内容,传空则不往房间中发送消息callback - 设置完成回调void deleteAttributes(List<String> attributeKeys, MessageContent message, IRCRTCResultCallback callback)
attributeKeys - 属性名称数组message - 是否在设置属性的时候携带消息内容,传空则不往房间中发送消息callback - 删除完成回调void getAttributes(List<String> attributeKeys, IRCRTCResultDataCallback<Map<String,String>> callback)
attributeKeys - 属性名称callback - 获取结果回调IRCRTCResultDataCallbackRCRTCCameraOutputStream getDefaultVideoStream()
RCRTCMicOutputStream getDefaultAudioStream()
void requestJoinOtherRoom(String inviteeRoomId, String inviteeUserId, boolean inviterAutoMix, String extra, IRCRTCResultCallback callback)
inviteeRoomId - 被邀请者所在房间 idinviteeUserId - 被邀请用户 idinviterAutoMix - 是否将邀请者音视频资源发送到被邀请人房间中合流
1: inviterAutoMix为true时:
1.1:如果被邀请方在加入邀请方房间之前发布了资源,当被邀请方加入邀请者房间成功后,服务器会把被邀请方流资源合并到邀请方视图 ·(默认仅悬浮布局合流)上。
1.2:如果被邀请方在加入邀请方房间之前没有发布过资源,将会在被邀请方发布资源成功后,服务器会把被邀请方流资源合并到邀请方视图(默认仅悬浮布局合流)上。
2:无论为true或false,双方都可以使用RCRTCLiveInfo.setMixConfig(RCRTCMixConfig, IRCRTCResultCallback) 方法主动设置合流布局。一旦主动设置过合流布局,后续音视频直播过程中设置的自动合流参数将失效。
extra - 扩展字段,默认为空callback - 发送回调void cancelRequestJoinOtherRoom(String inviteeRoomId, String inviteeUserId, String extra, IRCRTCResultCallback callback)
inviteeRoomId - 被邀请者所在房间 idinviteeUserId - 被邀请者用户 idextra - 扩展字段,默认为空callback - 发送回调void responseJoinOtherRoom(String inviterRoomId, String inviterUserId, boolean agree, boolean inviteeAutoMix, String extra, IRCRTCResultCallback callback)
inviterRoomId - 邀请者所在房间 id,inviterUserId - 邀请者用户 idagree - 被邀请者是否同意连麦邀请inviteeAutoMix - 是否将被邀请者音视频资源发送到邀请人房间中合流
1:inviteeAutoMix 为true时:
1.1:如果邀请方在发送连麦请求之前发布了资源,当被邀请方加入邀请者房间成功后,服务器会把邀请方流资源合并到被邀请方视图(默认仅悬浮布局合流)上。
1.2:如果邀请方在发送连麦请求之前没有发布资源,将会在邀请方发布资源成功后,服务器才会把邀请方的资源合并到被邀请方视图(默认仅悬浮布局合流)上。
2: 无论为true或false,双方都可以使用RCRTCLiveInfo.setMixConfig(RCRTCMixConfig, IRCRTCResultCallback) 方法主动设置合流布局。一旦主动设置过合流布局,后续音视频直播过程中设置的自动合流参数将失效。
extra - 扩展字段,默认为空callback - 发送回调void subscribeLiveUrl(String liveUrl, RCRTCAVStreamType avStreamType, RCRTCLiveCallback callBack)
1. 如果可以通过RCRTCRoom.getLiveStreams() 方法拿到直播流,推荐使用subscribeStreams(List, IRCRTCResultCallback) 方法来订阅直播
2. 取消订阅直播: 通过RCRTCRoom.getLiveStreams() 方法拿到所有的直播流,并将指定要取消的 Stream 对象传给unsubscribeStreams(List, IRCRTCResultCallback) 方法即可完成取消订阅操作
liveUrl - 直播地址avStreamType - 订阅流类型callBack - 订阅结果回调void switchToAudience(IRCRTCSwitchRoleCallback callBack)
IRCRTCRoomEventsListener.onSwitchRole(String, RCRTCLiveRole)回调。房间中其他观众会收到IRCRTCRoomEventsListener.onUserLeft(RCRTCRemoteUser)
1. 如果当前用户加入了 RCRTCOtherRoom,切换为观众时。RTC SDK 内部会帮其退出所有 RCRTCOtherRoom。不会结束本次连麦。
2. 当切换失败且不影响当前角色继续音视频时,会回调IRCRTCFailedCallback.onFailed(RTCErrorCode)
3. 当切换失败且SDK处于无法回退状态时,会回调IRCRTCKickedCallback.onKicked() 。SDK内部会退出房间并清理所有资源,该用户只能重新加入房间才能继续音视频。
4. 角色切换之后会保留注册的RCRTCEngine.registerEventListener(cn.rongcloud.rtc.api.callback.IRCRTCEngineEventListener)、RCRTCEngine.registerStatusReportListener(cn.rongcloud.rtc.api.callback.IRCRTCStatusReportListener)和RCRTCRoom.registerRoomListener(cn.rongcloud.rtc.api.callback.IRCRTCRoomEventsListener)等 RTC SDK 全局类型的监听。其他监听需要切换角色成功后重新注册才能使用。
callBack - void switchToBroadcaster(List<? extends RCRTCOutputStream> publishStreams, IRCRTCSwitchRoleDataCallback<RCRTCLiveInfo> callBack)
IRCRTCRoomEventsListener.onSwitchRole(String, RCRTCLiveRole)回调。房间中其他观众会收到IRCRTCRoomEventsListener.onUserJoined(RCRTCRemoteUser)
1. 当切换失败且不影响当前角色继续音视频时,会回调IRCRTCFailedCallback.onFailed(RTCErrorCode)
2. 当切换失败且SDK处于无法回退状态时,会回调IRCRTCKickedCallback.onKicked() 。SDK内部会退出房间并清理所有资源,该用户只能重新加入房间才能继续音视频。
3. 角色切换之后会保留注册的RCRTCEngine.registerEventListener(cn.rongcloud.rtc.api.callback.IRCRTCEngineEventListener)、RCRTCEngine.registerStatusReportListener(cn.rongcloud.rtc.api.callback.IRCRTCStatusReportListener)和RCRTCRoom.registerRoomListener(cn.rongcloud.rtc.api.callback.IRCRTCRoomEventsListener)等 RTC SDK 全局类型的监听。其他监听需要切换角色成功后重新注册才能使用。
publishStreams - 切换为主播成功后,需要发布的资源;默认为:nullcallBack -