发布和订阅
- Unreal C++
更新时间不可用
enableDualStreamMode [1/2]
在发送端开启或关闭双流模式。
virtual int enableDualStreamMode(bool enabled) = 0;详情
弃用:
从 v4.2.0 起废弃,请改用 setDualStreamMode [1/2]。
双流指视频大流和视频小流:
- 视频大流:高分辨率、高帧率的视频流。
- 视频小流:低分辨率、低帧率的视频流。
开启双流模式后,你可以在收流端调用 setRemoteVideoStreamType 选择接收视频大流或视频小流。
注:
- 该方法适用于发送端发送的所有类型的流,包括且不限于来自摄像头采集的视频流、屏幕共享流、自定义采集的视频流。
- 如果需要在多频道场景下开启视频双流,可以调用 enableDualStreamModeEx 方法。
- 该方法可以在加入频道前后调用。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
enableDualStreamMode [2/2]
在发送端开启或关闭双流模式并设置视频小流。
virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) = 0;详情
弃用:
从 v4.2.0 起废弃,请改用 setDualStreamMode [2/2]。
你可以在发流端调用该方法开启或关闭双流模式。双流指视频大流和视频小流:
- 视频大流:高分辨率、高帧率的视频流。
- 视频小流:低分辨率、低帧率的视频流。
开启双流模式后,你可以在收流端调用 setRemoteVideoStreamType 选择接收视频大流或视频小流。
注:
- 该方法适用于发送端发送的所有类型的流,包括且不限于来自摄像头采集的视频流、屏幕共享流、自定义采集的视频流。
- 如果需要在多频道场景下开启视频双流,可以调用 enableDualStreamModeEx 方法。
- 该方法可以在加入频道前后调用。
参数
| 参数名 | 描述 |
|---|---|
enabled | |
streamConfig |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。 详见错误码了解详情和解决建议。
所属接口类
enableDualStreamModeEx
在发送端开启或关闭双流模式。
virtual int enableDualStreamModeEx(bool enabled, const SimulcastStreamConfig& streamConfig,
const RtcConnection& connection) = 0;详情
弃用:
从 v4.2.0 起废弃,请改用 setDualStreamModeEx。
你可以在发流端调用该方法开启或关闭双流模式。双流指视频大流和视频小流:
- 视频大流:高分辨率、高帧率的视频流。
- 视频小流:低分辨率、低帧率的视频流。
开启双流模式后,你可以在收流端调用 setRemoteVideoStreamType 选择接收视频大流或视频小流。
注: 该方法适用于发送端发送的所有类型的流,包括且不限于来自摄像头采集的视频流、屏幕共享流、自定义采集的视频流。
参数
| 参数名 | 描述 |
|---|---|
enabled | |
streamConfig | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。 详见错误码了解详情和解决建议。
所属接口类
muteAllRemoteAudioStreams
取消或恢复订阅所有远端用户的音频流。
virtual int muteAllRemoteAudioStreams(bool mute) = 0;成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的音频流,包括在调用该方法后加入频道的用户的音频流。
注意:
SDK 默认在加入频道时订阅所有远端用户的音频流,如果要修改此行为,可以在调用 joinChannel [2/2] 加入频道时设置 autoSubscribeAudio 为 false,即可在加入频道时取消订阅所有用户的音频流。
调用时机
该方法需要在加入频道后调用。
调用限制
如果在调用该方法之后又调用了 enableAudio 或 disableAudio,则后调用的方法会生效。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteAllRemoteAudioStreamsEx
取消或恢复订阅所有远端用户的音频流。
virtual int muteAllRemoteAudioStreamsEx(bool mute, const RtcConnection& connection) = 0;详情
成功调用该方法后,本地用户会取消或恢复订阅远端用户的音频流,包括在调用该方法后加入频道的用户的音频流。
注意:
- 该方法需要在加入频道后调用。
- 如果需要在加入频道前设置默认不订阅远端用户音频流,可以在调用 joinChannel [2/2] 加入频道时设置 autoSubscribeAudio 为
false。
参数
| 参数名 | 描述 |
|---|---|
mute | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteAllRemoteVideoStreams
取消或恢复订阅所有远端用户的视频流。
virtual int muteAllRemoteVideoStreams(bool mute) = 0;成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的视频流,包括在调用该方法后加入频道的用户的视频流。
注意:
SDK 默认在加入频道时订阅所有远端用户的视频流,如果要修改此行为,可以在调用 joinChannel [2/2] 加入频道时设置 autoSubscribeVideo 为 false,即可在加入频道时取消订阅所有用户的视频流。
调用时机
该方法需要在加入频道后调用。
调用限制
如果在调用该方法之后又调用了 enableVideo 或 disableVideo,则后调用的方法会生效。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteAllRemoteVideoStreamsEx
取消或恢复订阅所有远端用户的视频流。
virtual int muteAllRemoteVideoStreamsEx(bool mute, const RtcConnection& connection) = 0;详情
成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的视频流,包括在调用该方法后加入频道的用户的视频流。
参数
| 参数名 | 描述 |
|---|---|
mute | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteLocalAudioStream
取消或恢复发布本地音频流。
virtual int muteLocalAudioStream(bool mute) = 0;该方法用于控制是否发布本地采集的音频流。如果不发布本地采集的音频流,也不会禁用音频采集设备,所以不影响音频的采集状态。
调用时机
加入频道前后均可调用。
调用限制
无。
相关回调
成功调用该方法后,本地会触发 onAudioPublishStateChanged 回调;远端会触发 onUserMuteAudio 回调和 onRemoteAudioStateChanged 回调。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteLocalAudioStreamEx
取消或恢复发布本地音频流。
virtual int muteLocalAudioStreamEx(bool mute, const RtcConnection& connection) = 0;详情
注意: 该方法不影响音频采集状态,因为没有禁用音频采集设备。
成功调用该方法后,远端会触发 onUserMuteAudio 回调和 onRemoteAudioStateChanged 回调。
参数
| 参数名 | 描述 |
|---|---|
mute | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteLocalVideoStream
取消或恢复发布本地视频流。
virtual int muteLocalVideoStream(bool mute) = 0;该方法用于控制是否发布本地采集的视频流。如果不发布本地采集的视频流,也不会禁用视频采集设备,所以不影响视频的采集状态。
相比于调用 enableLocalVideo(false) 关闭本地视频流采集、从而取消发布本地视频流的方法,该方法响应速度更快。
调用时机
加入频道前后均可调用。
调用限制
无。
相关回调
成功调用该方法后,本地会触发 onVideoPublishStateChanged 回调;远端会触发 onUserMuteVideo 回调和 onRemoteVideoStateChanged 回调。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteLocalVideoStreamEx
取消或恢复发布本地视频流。
virtual int muteLocalVideoStreamEx(bool mute, const RtcConnection& connection) = 0;详情
成功调用该方法后,远端会触发 onUserMuteVideo 回调。
注意:
- 该方法不影响视频采集状态,没有禁用摄像头。
参数
| 参数名 | 描述 |
|---|---|
mute | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteRemoteAudioStream
取消或恢复订阅指定远端用户的音频流。
virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0;调用时机
该方法需要在加入频道后调用。
调用限制
无。
相关回调
成功调用该方法后,本地会触发 onAudioSubscribeStateChanged 回调。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteRemoteAudioStreamEx
停止/恢复接收指定的音频流。
virtual int muteRemoteAudioStreamEx(uid_t uid, bool mute, const RtcConnection& connection) = 0;详情
该方法停止/恢复接收某一个指定远端用户的音频流。在加入频道前或后都可以调用。该方法的设置在离开频道后失效。
参数
| 参数名 | 描述 |
|---|---|
uid | |
mute | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteRemoteVideoStream
取消或恢复订阅指定远端用户的视频流。
virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0;调用时机
该方法需要在加入频道后调用。
调用限制
无。
相关回调
成功调用该方法后,本地会触发 onVideoSubscribeStateChanged 回调。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteRemoteVideoStreamEx
停止/恢复接收指定的视频流。
virtual int muteRemoteVideoStreamEx(uid_t uid, bool mute, const RtcConnection& connection) = 0;详情
该方法停止/恢复接收某一个指定远端用户的视频流。在加入频道前或后都可以调用。该方法的设置在离开频道后失效。
参数
| 参数名 | 描述 |
|---|---|
uid | |
mute | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setDualStreamMode [1/2]
在发送端设置双流模式。
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0;详情
SDK 默认在发送端开启小流自适应模式 (AUTO_SIMULCAST_STREAM),即发送端不主动发送小流,主播身份的接收端可以调用 setRemoteVideoStreamType 发起小流申请,发送端收到申请后开始自动发送小流。
- 如果你想修改此行为,可以调用该方法并修改 mode 为 DISABLE_SIMULCAST_STREAM(始终不发送小流)或 ENABLE_SIMULCAST_STREAM(始终发送小流)。
- 如果你在进行修改后又想恢复该默认行为,可重新调用该方法,并将 mode 设置为 AUTO_SIMULCAST_STREAM。
注: 该方法和 enableDualStreamMode [1/2] 的区别与联系如下:
- 调用该方法并设置 mode 为 DISABLE_SIMULCAST_STREAM 时,跟 enableDualStreamMode [1/2]
(false)的效果相同。 - 调用该方法并设置 mode 为 ENABLE_SIMULCAST_STREAM 时,跟 enableDualStreamMode [1/2]
(true)的效果相同。 - 两种方法均可在加入频道前后调用,若同时使用,则以后调用的方法中的设置为准。
参数
| 参数名 | 描述 |
|---|---|
mode | 发送视频流的模式。详见 SIMULCAST_STREAM_MODE。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setDualStreamMode [2/2]
在发送端设置双流模式并设置视频小流。
virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode,
const SimulcastStreamConfig& streamConfig) = 0;详情
SDK 默认在发送端开启小流自适应模式 (AUTO_SIMULCAST_STREAM),即发送端不主动发送小流,主播身份的接收端可以调用 setRemoteVideoStreamType 发起小流申请,发送端收到申请后开始自动发送小流。
- 如果你想修改此行为,可以调用该方法并修改 mode 为 DISABLE_SIMULCAST_STREAM(始终不发送小流)或 ENABLE_SIMULCAST_STREAM(始终发送小流)。
- 如果你在进行修改后又想恢复该默认行为,可重新调用该方法,并将 mode 设置为 AUTO_SIMULCAST_STREAM。
该方法跟 setDualStreamMode [1/2] 的区别在于,该方法还可以进行视频小流的配置,SDK 会根据 streamConfig 中的配置发送小流。
注: 该方法和 enableDualStreamMode [2/2] 的区别与联系如下:
- 调用该方法并设置 mode 为 DISABLE_SIMULCAST_STREAM 时,跟调用 enableDualStreamMode [2/2] 并设置 enabled 为
false的效果相同。 - 调用该方法并设置 mode 为 ENABLE_SIMULCAST_STREAM 时,跟调用 enableDualStreamMode [2/2] 并设置 enabled 为
true的效果相同。 - 两种方法均可在加入频道前后调用,若同时使用,则以后调用的方法中的设置为准。
参数
| 参数名 | 描述 |
|---|---|
mode | 发送视频流的模式。详见 SIMULCAST_STREAM_MODE。 |
streamConfig |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。 详见错误码了解详情和解决建议。
所属接口类
setDualStreamModeEx
在发送端设置双流模式。
virtual int setDualStreamModeEx(SIMULCAST_STREAM_MODE mode,
const SimulcastStreamConfig& streamConfig,
const RtcConnection& connection) = 0;详情
SDK 默认在发送端开启小流自适应模式 (AUTO_SIMULCAST_STREAM),即发送端不主动发送小流,主播身份的接收端可以调用 setRemoteVideoStreamTypeEx 发起小流申请,发送端收到申请后开始自动发送小流。
- 如果你想修改此行为,可以调用该方法并修改 mode 为 DISABLE_SIMULCAST_STREAM(始终不发送小流)或 ENABLE_SIMULCAST_STREAM(始终发送小流)。
- 如果你在进行修改后又想恢复该默认行为,可重新调用该方法,并将 mode 设置为 AUTO_SIMULCAST_STREAM。
注: 该方法和 enableDualStreamModeEx 的区别与联系如下:
- 调用该方法并设置 mode 为 DISABLE_SIMULCAST_STREAM 时,跟 enableDualStreamModeEx
(false)的效果相同。 - 调用该方法并设置 mode 为 ENABLE_SIMULCAST_STREAM 时,跟 enableDualStreamModeEx
(true)的效果相同。 - 两种方法均可在加入频道前后调用,若同时使用,则以后调用的方法中的设置为准。
参数
| 参数名 | 描述 |
|---|---|
mode | 发送视频流的模式。详见 SIMULCAST_STREAM_MODE。 |
streamConfig | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。 详见错误码了解详情和解决建议。
所属接口类
setRemoteDefaultVideoStreamType
设置默认订阅的视频流类型。
virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0;取决于发送端的默认行为和调用 setDualStreamMode [2/2] 的具体设置,接收端调用该方法分为以下几种情况:
- SDK 默认在发送端开启小流自适应模式 (AUTO_SIMULCAST_STREAM),即:发送端仅发送大流,仅主播身份的接收端可以调用该方法发起小流申请,发送端收到申请后开始自动发送小流,此时频道内所有用户均可调用该方法切换到小流订阅模式。
- 当发送端调用 setDualStreamMode [2/2] 并将 mode 设置为 DISABLE_SIMULCAST_STREAM(始终不发送小流),则调用该方法不生效。
- 当发送端调用 setDualStreamMode [2/2] 并将 mode 设置为 ENABLE_SIMULCAST_STREAM(始终发送小流),则主播或观众身份的接收端均可调用该方法切换到小流订阅模式。
在接收视频小流时,SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。
调用时机
该方法只能在加入频道前调用。SDK 不支持你在加入频道后修改默认订阅的视频流类型。
调用限制
如果你既调用了该方法,也调用了 setRemoteVideoStreamType,则 SDK 以 setRemoteVideoStreamType 中的设置为准。
参数
| 参数名 | 描述 |
|---|---|
streamType | 默认订阅的视频流类型: VIDEO_STREAM_TYPE。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setRemoteVideoStreamType
设置订阅的视频流类型。
virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0;详情
取决于发送端的默认行为和调用 setDualStreamMode [2/2] 的具体设置,接收端调用该方法分为以下几种情况:
- SDK 默认在发送端开启小流自适应模式 (AUTO_SIMULCAST_STREAM),即:发送端仅发送大流,仅主播身份的接收端可以调用该方法发起小流申请,发送端收到申请后开始自动发送小流,此时频道内所有用户均可调用该方法切换到小流订阅模式。
- 当发送端调用 setDualStreamMode [2/2] 并将 mode 设置为 DISABLE_SIMULCAST_STREAM(始终不发送小流),则调用该方法不生效。
- 当发送端调用 setDualStreamMode [2/2] 并将 mode 设置为 ENABLE_SIMULCAST_STREAM(始终发送小流),则主播或观众身份的接收端均可调用该方法切换到小流订阅模式。
在接收视频小流时,SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。
注意:
- 该方法在加入频道前后都能调用。
- 如果既调用了该方法,也调用了 setRemoteDefaultVideoStreamType,则 SDK 以该方法中的设置为准。
参数
| 参数名 | 描述 |
|---|---|
uid | |
streamType | 视频流类型: VIDEO_STREAM_TYPE。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setRemoteVideoStreamTypeEx
设置订阅的视频流类型。
virtual int setRemoteVideoStreamTypeEx(uid_t uid, VIDEO_STREAM_TYPE streamType, const RtcConnection& connection) = 0;详情
取决于发送端的默认行为和调用 setDualStreamMode [2/2] 的具体设置,接收端调用该方法分为以下几种情况:
- SDK 默认在发送端开启小流自适应模式 (AUTO_SIMULCAST_STREAM),即:发送端仅发送大流,仅主播身份的接收端可以调用该方法发起小流申请,发送端收到申请后开始自动发送小流,此时频道内所有用户均可调用该方法切换到小流订阅模式。
- 当发送端调用 setDualStreamMode [2/2] 并将 mode 设置为 DISABLE_SIMULCAST_STREAM(始终不发送小流),则调用该方法不生效。
- 当发送端调用 setDualStreamMode [2/2] 并将 mode 设置为 ENABLE_SIMULCAST_STREAM(始终发送小流),则主播或观众身份的接收端均可调用该方法切换到小流订阅模式。
在接收视频小流时,SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。
注意:
- 如果发送端已调用 setDualStreamModeEx 并将 mode 设置为 DISABLE_SIMULCAST_STREAM(始终不发送小流),则调用该方法不生效,你需要在发送端重新调用 setDualStreamModeEx 修改设置。
- 观众角色的接收端调用该方法不生效。
参数
| 参数名 | 描述 |
|---|---|
uid | |
streamType | 视频流类型: VIDEO_STREAM_TYPE。 |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setRemoteVideoSubscriptionOptions
设置远端视频流的订阅选项。
virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0;详情
当远端发送双流时,可调用此方法来设置远端视频流的订阅选项。SDK 对远端视频流的默认订阅行为取决于注册的视频观测器类型:
- 如果注册的是 IVideoFrameObserver 观测器,则默认订阅原始数据和编码后的数据。
- 如果注册的是 IVideoEncodedFrameObserver 观测器,则默认仅订阅编码后的数据。
- 如果注册了两种观测器,则默认跟随后注册的视频观测器。举例来说,如果后注册的是 IVideoFrameObserver 观测器,则默认订阅原始数据和编码后的数据。
如果你想修改以上默认行为,或者想针对不同 uid 设置不同的订阅选项,可调用该方法设置。
参数
| 参数名 | 描述 |
|---|---|
uid | |
options | 视频流的订阅设置,详见 VideoSubscriptionOptions。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setRemoteVideoSubscriptionOptionsEx
设置远端视频流的订阅选项。
virtual int setRemoteVideoSubscriptionOptionsEx(uid_t uid, const VideoSubscriptionOptions& options, const RtcConnection& connection) = 0;详情
当远端发送双流时,可调用此方法来设置远端视频流的订阅选项。
参数
| 参数名 | 描述 |
|---|---|
uid | |
options | 视频流的订阅设置,详见 VideoSubscriptionOptions。 |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeAudioAllowlist
设置音频订阅白名单。
virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0;详情
你可以调用该方法指定想要订阅的音频流。
注:
- 该方法在加入频道前后均可调用。
- 音频订阅白名单不受 muteRemoteAudioStream、muteAllRemoteAudioStreams 以及 ChannelMediaOptions 中的 autoSubscribeAudio 的影响。
- 设置订阅白名单后,如果离开当前频道后再重新加入频道,白名单依然生效。
- 如果某个用户同时在音频订阅黑名单和白名单中,仅订阅黑名单生效。
参数
| 参数名 | 描述 |
|---|---|
uidList | 音频订阅白名单的用户 ID 列表。 如果你想指定订阅某一发流用户的音频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅白名单中移除,需要重新调用 setSubscribeAudioAllowlist 方法更新音频订阅白名单的用户 ID 列表,使其不包含你想移除的用户的 uid。 |
uidNumber |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeAudioAllowlistEx
设置音频订阅白名单。
virtual int setSubscribeAudioAllowlistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0;详情
你可以调用该方法指定想要订阅的音频流。
注:
- 该方法在加入频道前后均可调用。
- 音频订阅白名单不受 muteRemoteAudioStream、muteAllRemoteAudioStreams 以及 ChannelMediaOptions 中的 autoSubscribeAudio 的影响。
- 设置订阅白名单后,如果离开当前频道后再重新加入频道,白名单依然生效。
- 如果某个用户同时在音频订阅黑名单和白名单中,仅订阅黑名单生效。
参数
| 参数名 | 描述 |
|---|---|
uidList | 音频订阅白名单的用户 ID 列表。 如果你想指定订阅某一发流用户的音频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅白名单中移除,需要重新调用 setSubscribeAudioAllowlist 方法更新音频订阅白名单的用户 ID 列表,使其不包含你想移除的用户的 uid。 |
uidNumber | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeAudioBlocklist
设置音频订阅黑名单。
virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0;详情
你可以调用该方法指定不订阅的音频流。
注意:
- 该方法在加入频道前后均可调用。
- 黑名单设置实时生效。将已订阅用户加入黑名单后,该用户的音频流也会停止订阅。
- 音频订阅黑名单不受 muteRemoteAudioStream、muteAllRemoteAudioStreams 以及 ChannelMediaOptions 中的 autoSubscribeAudio 影响。
- 设置订阅黑名单后,如果离开当前频道后再重新加入频道,黑名单依然生效。
- 如果某个用户同时在音频订阅黑名单和白名单中,仅订阅黑名单生效。
参数
| 参数名 | 描述 |
|---|---|
uidList | 订阅黑名单的用户 ID 列表。 如果你想指定不订阅某一发流用户的音频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅黑名单中移除,需要重新调用 setSubscribeAudioBlocklist 方法更新订阅黑名单的用户 ID 列表,使其不包含你想移除的用户的 uid。 |
uidNumber |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeAudioBlocklistEx
设置音频订阅黑名单。
virtual int setSubscribeAudioBlocklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0;详情
你可以调用该方法指定不订阅的音频流。
注意:
- 该方法在加入频道前后均可调用。
- 黑名单设置实时生效。将已订阅用户加入黑名单后,该用户的音频流也会停止订阅。
- 音频订阅黑名单不受 muteRemoteAudioStream、muteAllRemoteAudioStreams 以及 ChannelMediaOptions 中的 autoSubscribeAudio 影响。
- 设置订阅黑名单后,如果离开当前频道后再重新加入频道,黑名单依然生效。
- 如果某个用户同时在音频订阅黑名单和白名单中,仅订阅黑名单生效。
参数
| 参数名 | 描述 |
|---|---|
uidList | 订阅黑名单的用户 ID 列表。 如果你想指定不订阅某一发流用户的音频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅黑名单中移除,需要重新调用 setSubscribeAudioBlocklist 方法更新订阅黑名单的用户 ID 列表,使其不包含你想移除的用户的 uid。 |
uidNumber | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeVideoAllowlist
设置视频订阅白名单。
virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0;详情
你可以调用该方法指定想要订阅的视频流。
注:
- 该方法在加入频道前后均可调用。
- 视频订阅白名单不受 muteRemoteVideoStream、muteAllRemoteVideoStreams 以及 ChannelMediaOptions 中的 autoSubscribeVideo 的影响。
- 设置订阅白名单后,如果离开当前频道后再重新加入频道,白名单依然生效。
- 如果某个用户同时在音频订阅黑名单和白名单中,仅订阅黑名单生效。
参数
| 参数名 | 描述 |
|---|---|
uidList | 视频订阅白名单的用户 ID 列表。 如果你想指定仅订阅某一发流用户的视频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅白名单中移除,需要重新调用 setSubscribeVideoAllowlist 方法更新音频订阅白名单的用户 ID 列表,使其不包含你想移除的用户的 uid。 |
uidNumber |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeVideoAllowlistEx
设置视频订阅白名单。
virtual int setSubscribeVideoAllowlistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0;详情
你可以调用该方法指定想要订阅的视频流。
注:
- 该方法在加入频道前后均可调用。
- 视频订阅白名单不受 muteRemoteVideoStream、muteAllRemoteVideoStreams 以及 ChannelMediaOptions 中的 autoSubscribeVideo 的影响。
- 设置订阅白名单后,如果离开当前频道后再重新加入频道,白名单依然生效。
- 如果某个用户同时在音频订阅黑名单和白名单中,仅订阅黑名单生效。
参数
| 参数名 | 描述 |
|---|---|
uidList | 视频订阅白名单的用户 ID 列表。 如果你想指定仅订阅某一发流用户的视频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅白名单中移除,需要重新调用 setSubscribeVideoAllowlist 方法更新音频订阅白名单的用户 ID 列表,使其不包含你想移除的用户的 uid。 |
uidNumber | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeVideoBlocklist
设置视频订阅黑名单。
virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0;详情
你可以调用该方法指定不订阅的视频流。
注:
- 该方法在加入频道前后均可调用。
- 黑名单设置实时生效。将已订阅用户加入黑名单后,该用户的视频流也会停止订阅。
- 视频订阅黑名单不受 muteRemoteVideoStream、muteAllRemoteVideoStreams 以及 ChannelMediaOptions 中的 autoSubscribeVideo 的影响。
- 设置订阅黑名单后,如果离开当前频道后再重新加入频道,黑名单依然生效。
- 如果某个用户同时在音频订阅黑名单和白名单中,仅订阅黑名单生效。
参数
| 参数名 | 描述 |
|---|---|
uidList | 视频订阅黑名单的用户 ID 列表。 如果你想指定不订阅某一发流用户的视频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅黑名单中移除,需要重新调用 setSubscribeVideoBlocklist 方法更新订阅黑名单的用户 ID 列表,使其不包含你想移除的用户的 uid。 |
uidNumber |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeVideoBlocklistEx
设置视频订阅黑名单。
virtual int setSubscribeVideoBlocklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0;详情
你可以调用该方法指定不订阅的视频流。
注:
- 该方法在加入频道前后均可调用。
- 黑名单设置实时生效。将已订阅用户加入黑名单后,该用户的视频流也会停止订阅。
- 视频订阅黑名单不受 muteRemoteVideoStream、muteAllRemoteVideoStreams 以及 ChannelMediaOptions 中的 autoSubscribeVideo 的影响。
- 设置订阅黑名单后,如果离开当前频道后再重新加入频道,黑名单依然生效。
- 如果某个用户同时在音频订阅黑名单和白名单中,仅订阅黑名单生效。
参数
| 参数名 | 描述 |
|---|---|
uidList | 视频订阅黑名单的用户 ID 列表。 如果你想指定不订阅某一发流用户的视频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅黑名单中移除,需要重新调用 setSubscribeVideoBlocklist 方法更新订阅黑名单的用户 ID 列表,使其不包含你想移除的用户的 uid。 |
uidNumber | |
connection | Connection 信息。详见 RtcConnection。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
onAudioPublishStateChanged
音频发布状态改变回调。
virtual void onAudioPublishStateChanged(const char* channel,
STREAM_PUBLISH_STATE oldState,
STREAM_PUBLISH_STATE newState,
int elapseSinceLastState) {
(void)channel;
(void)oldState;
(void)newState;
(void)elapseSinceLastState;
}参数
| 参数名 | 描述 |
|---|---|
channel | |
oldState | 之前的发布状态,详见 STREAM_PUBLISH_STATE。 |
newState | |
elapseSinceLastState |
所属接口类
onAudioSubscribeStateChanged
音频订阅状态发生改变回调。
virtual void onAudioSubscribeStateChanged(const char* channel,
uid_t uid,
STREAM_SUBSCRIBE_STATE oldState,
STREAM_SUBSCRIBE_STATE newState,
int elapseSinceLastState) {
(void)channel;
(void)uid;
(void)oldState;
(void)newState;
(void)elapseSinceLastState;
}参数
| 参数名 | 描述 |
|---|---|
channel | |
uid | |
oldState | 之前的订阅状态,详见 STREAM_SUBSCRIBE_STATE。 |
newState | |
elapseSinceLastState |
所属接口类
onVideoSubscribeStateChanged
视频订阅状态发生改变回调。
virtual void onVideoSubscribeStateChanged(const char* channel,
uid_t uid,
STREAM_SUBSCRIBE_STATE oldState,
STREAM_SUBSCRIBE_STATE newState,
int elapseSinceLastState) {
(void)channel;
(void)uid;
(void)oldState;
(void)newState;
(void)elapseSinceLastState;
}参数
| 参数名 | 描述 |
|---|---|
channel | |
uid | |
oldState | 之前的订阅状态,详见 STREAM_SUBSCRIBE_STATE。 |
newState | |
elapseSinceLastState |