发布和订阅
- Android
更新时间不可用
enableDualStreamMode [1/2]
在发送端启用或禁用双流模式。
public abstract int enableDualStreamMode(boolean enabled)废弃
自 v4.2.0 版本废弃,请改用 setDualStreamMode。
启用双流模式后,你可以调用 setRemoteVideoStreamType 方法,在订阅端选择接收视频大流或视频小流。
双流由以下两种视频流组成:
- 视频大流:高码率、高分辨率。
- 视频小流:低码率、低分辨率。
注:
- 该方法适用于发送端的所有类型视频流,包括但不限于摄像头采集的视频流、屏幕共享流和自定义采集的视频流。
- 如果你需要在多频道场景中启用双流模式,可以调用 enableDualStreamModeEx 方法。
- 你可以在加入频道前或加入频道后调用该方法。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
enableDualStreamMode [2/2]
设置发送端的双流模式和视频小流。
public abstract int enableDualStreamMode(boolean enabled, SimulcastStreamConfig streamConfig)废弃
自 v4.2.0 版本废弃,请改用 setDualStreamMode。
你可以调用此方法在发送端启用或关闭双流模式。双流由一路视频大流和一路视频小流组成:
- 视频大流:高码率、高分辨率。
- 视频小流:低码率、低分辨率。
启用双流模式后,你可以调用 setRemoteVideoStreamType 方法,在接收端选择接收视频大流或视频小流。
注:
- 该方法适用于发送端的所有类型视频流,包括但不限于摄像头采集的视频流、屏幕共享流和自定义采集的视频流。
- 如果你需要在多频道场景中启用双流模式,可以调用 enableDualStreamModeEx 方法。
- 你可以在加入频道前或加入频道后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
enabled | |
streamConfig |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
enableDualStreamModeEx
在发送端启用或关闭双流模式。
public abstract int enableDualStreamModeEx(boolean enabled, SimulcastStreamConfig streamConfig, RtcConnection connection);废弃
自 v4.2.0 版本废弃。请使用 setDualStreamModeEx 代替。
你可以调用此方法在发送端启用或关闭双流模式。双流由一对视频大流和视频小流组成:
- 视频大流:高码率,高分辨率。
- 视频小流:低码率,低分辨率。
启用双流模式后,你可以调用 setRemoteVideoStreamType 方法,在订阅端选择接收视频大流或视频小流。
注: 该方法适用于发送端的所有类型视频流,包括但不限于摄像头采集的视频流、屏幕共享流和自定义采集的视频流。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
enabled | |
streamConfig | |
connection | 连接信息,详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteAllRemoteAudioStreams
停止或恢复订阅所有远端用户的音频流。
public abstract int muteAllRemoteAudioStreams(boolean muted);请在加入频道后调用该方法。本地用户将停止或恢复订阅所有远端用户的音频流,包括之后加入频道的用户。
注: 如果你调用该方法后又调用了 enableAudio 或 disableAudio,以最后一次调用为准。默认情况下,加入频道时 SDK 会自动订阅所有远端用户的音频流。你可以在调用 joinChannel 加入频道时将 ChannelMediaOptions 中的 autoSubscribeAudio 设置为 false,以取消加入频道时对所有用户音频流的订阅。
调用时机
请在加入频道后调用该方法。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteAllRemoteAudioStreamsEx
停止或恢复订阅所有远端用户的音频流。
public abstract int muteAllRemoteAudioStreamsEx(boolean muted, RtcConnection connection);适用场景
该方法适用于多频道场景。
调用时机
- 请在加入频道后调用该方法。
- 如果你希望在加入频道前不订阅远端用户的音频流,可以在调用
joinChannel时将 ChannelMediaOptions 中的autoSubscribeAudio设置为 false。
参数
| 参数名 | 描述 |
|---|---|
muted | |
connection | 连接信息。详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteAllRemoteVideoStreams
停止或恢复订阅所有远端用户的视频流。
public abstract int muteAllRemoteVideoStreams(boolean muted);请在加入频道后调用该方法。调用该方法后,本地用户将停止或恢复订阅所有远端用户的视频流,包括之后加入频道的用户。
注: 如果你调用该方法后又调用了 enableVideo 或 disableVideo,以最后一次调用为准。默认情况下,加入频道时 SDK 会自动订阅所有远端用户的视频流。你可以在调用 joinChannel 加入频道时将 ChannelMediaOptions 中的 autoSubscribeVideo 设置为 false,以取消加入频道时对所有用户的视频流订阅。
调用时机
请在加入频道后调用该方法。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteAllRemoteVideoStreamsEx
停止或恢复订阅所有远端用户的视频流。
public abstract int muteAllRemoteVideoStreamsEx(boolean muted, RtcConnection connection);调用该方法后,你将停止或恢复订阅所有远端用户的视频流,包括之后加入频道的用户。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
muted | |
connection | 连接信息。详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteLocalAudioStream
停止或恢复发布本地采集音频流。
public abstract int muteLocalAudioStream(boolean muted);调用该方法停止发布本地音频流时,音频采集设备仍会正常工作,不受影响。
调用时机
该方法可以在加入频道前或加入频道后调用。
相关回调
调用该方法成功后,本地会触发回调 onAudioPublishStateChanged;远端会触发回调 onUserMuteAudio 和 onRemoteAudioStateChanged。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteLocalAudioStreamEx
停止或恢复发布本地音频流。
public abstract int muteLocalAudioStreamEx(boolean muted, RtcConnection connection);成功调用该方法后,远端客户端会收到 onUserMuteAudio 和 onRemoteAudioStateChanged 回调。
注: 该方法不会影响任何正在进行的音频录制,因为它不会禁用音频采集设备。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
muted | |
connection | 连接信息。详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteLocalVideoStream
停止或恢复发布本地视频流。
public abstract int muteLocalVideoStream(boolean muted);该方法用于控制是否发布本地采集的视频流。调用该方法停止发布本地视频流时,视频采集设备仍会继续工作,不受影响。相比通过将 enableLocalVideo 设为 false 来关闭本地视频采集从而取消发布视频流,该方法响应更快。
调用时机
该方法可以在加入频道前或加入频道后调用。
相关回调
调用该方法成功后,本地会触发回调 onVideoPublishStateChanged;远端会触发回调 onUserMuteVideo 和 onRemoteVideoStateChanged。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteLocalVideoStreamEx
停止或恢复发布本地视频流。
public abstract int muteLocalVideoStreamEx(boolean muted, RtcConnection connection);成功调用该方法后,远端客户端会触发 onUserMuteVideo 回调。
注: 该方法不会影响正在进行的视频录制,因为它不会关闭摄像头。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
muted | |
connection | 连接信息。详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteRemoteAudioStream
停止或恢复订阅指定远端用户的音频流。
public abstract int muteRemoteAudioStream(int uid, boolean muted);调用时机
在加入频道后调用该方法。
相关回调
调用该方法成功后,SDK 会触发 onAudioSubscribeStateChanged 回调。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteRemoteAudioStreamEx
停止或恢复接收指定用户的音频流。
public abstract int muteRemoteAudioStreamEx(int uid, boolean muted, RtcConnection connection);你可以在加入频道前或加入频道后调用该方法。如果用户离开频道,方法的设置将失效。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
uid | |
muted | |
connection | 连接信息。详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteRemoteVideoStream
停止或恢复订阅指定远端用户的视频流。
public abstract int muteRemoteVideoStream(int uid, boolean muted);调用时机
请在加入频道后调用该方法。
相关回调
调用该方法成功后,SDK 会触发 onVideoSubscribeStateChanged 回调。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
muteRemoteVideoStreamEx
停止或恢复接收指定用户的视频流。
public abstract int muteRemoteVideoStreamEx(int uid, boolean muted, RtcConnection connection);你可以在加入频道前或加入频道后调用该方法。如果该用户离开频道,设置将失效。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
uid | |
muted | |
connection | 连接信息。详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setDualStreamMode [1/2]
设置发送端的视频流模式,用于控制是否发送视频小流。
public abstract int setDualStreamMode(Constants.SimulcastStreamMode mode);你可以调用该方法设置发送端的视频流模式。
SDK 默认在发送端启用视频小流自适应模式(AUTO_SIMULCAST_STREAM),即发送端不会主动发送视频小流。角色为主播的接收端可以通过调用 setRemoteVideoStreamType 发起视频小流请求,发送端在收到请求后会自动开始发送视频小流。
- 如果你希望修改此行为,可以调用该方法并将
mode设置为DISABLE_SIMULCAST_STREAM(从不发送视频小流)或ENABLE_SIMULCAST_STREAM(始终发送视频小流)。 - 如果你希望恢复默认行为,可以再次调用该方法并将
mode设置为AUTO_SIMULCAST_STREAM。
注: 该方法与 enableDualStreamMode 的区别如下:
- 当调用该方法并将
mode设置为DISABLE_SIMULCAST_STREAM时,效果等同于调用enableDualStreamMode(false)。 - 当调用该方法并将
mode设置为ENABLE_SIMULCAST_STREAM时,效果等同于调用enableDualStreamMode(true)。 - 两个方法都可以在加入频道前或后调用。如果两个方法都被调用,则以后调用的方法设置优先生效。
参数
| 参数名 | 描述 |
|---|---|
mode | 发送视频流的模式。详见 SimulcastStreamMode。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setDualStreamMode [2/2]
设置发送端的不同质量层级的视频流模式配置。
public abstract int setDualStreamMode(Constants.SimulcastStreamMode mode, SimulcastStreamConfig streamConfig);SDK 默认在发送端开启视频小流自适应模式(AUTO_SIMULCAST_STREAM),即发送端不会主动发送视频小流。角色为主播的接收端可以通过调用 setRemoteVideoStreamType 发起视频小流请求,发送端在收到请求后会自动开始发送视频小流。
- 如果你希望修改该行为,可以调用该方法,并将
mode设置为DISABLE_SIMULCAST_STREAM(从不发送视频小流)或ENABLE_SIMULCAST_STREAM(始终发送视频小流)。 - 如果你希望恢复默认行为,可以再次调用该方法,并将
mode设置为AUTO_SIMULCAST_STREAM。
注: 该方法与 enableDualStreamMode 的区别如下:
- 当调用该方法并将
mode设置为DISABLE_SIMULCAST_STREAM时,效果等同于调用enableDualStreamMode并将enabled设置为 false。 - 当调用该方法并将
mode设置为ENABLE_SIMULCAST_STREAM时,效果等同于调用enableDualStreamMode并将enabled设置为 true。 - 两个方法都可以在加入频道前或后调用。如果两个方法都被调用,则以后调用的方法设置优先生效。
参数
| 参数名 | 描述 |
|---|---|
mode | 发送视频流的模式,详见 SimulcastStreamMode。 |
streamConfig |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setDualStreamModeEx
设置发送端的视频流模式,用于控制是否发送视频小流。
public abstract int setDualStreamModeEx(Constants.SimulcastStreamMode mode, SimulcastStreamConfig streamConfig, RtcConnection connection);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 | 视频流发送模式。详见 SimulcastStreamMode。 |
streamConfig | |
connection | 连接信息。详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setRemoteDefaultVideoStreamType [1/2]
设置默认订阅的视频流类型。
public abstract int setRemoteDefaultVideoStreamType(Constants.VideoStreamType streamType);根据发送端的默认行为以及调用 setDualStreamMode 时的具体设置,接收端调用该方法的场景如下:
- SDK 默认在发送端开启视频小流自适应模式(
AUTO_SIMULCAST_STREAM),即仅发送视频大流。只有角色为主播的接收端可以调用该方法发起视频小流请求。一旦发送端收到请求后,会自动开始发送视频小流。此时,频道内所有用户都可以调用该方法切换为订阅视频小流模式。 - 如果发送端调用
setDualStreamMode并将mode设置为DISABLE_SIMULCAST_STREAM(从不发送视频小流),则调用该方法无效。 - 如果发送端调用
setDualStreamMode并将mode设置为ENABLE_SIMULCAST_STREAM(始终发送视频小流),则主播和观众角色的接收端都可以调用该方法切换为订阅视频小流模式。
SDK 会根据视频窗口的大小动态调整对应视频流的尺寸,以节省带宽和计算资源。视频小流的默认宽高比与视频大流一致。系统会根据当前视频大流的宽高比,自动分配视频小流的分辨率、帧率和码率。
注: 如果同时调用该方法和 setRemoteVideoStreamType,则以 setRemoteVideoStreamType 的设置为准。
调用时机
请在加入频道前调用该方法。SDK 不支持在加入频道后更改默认订阅的视频流类型。
参数
| 参数名 | 描述 |
|---|---|
streamType | 视频流类型。详见 VideoStreamType。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setRemoteDefaultVideoStreamType [2/2]
设置默认订阅的视频流类型。
public abstract int setRemoteDefaultVideoStreamType(int streamType)废弃
该方法已废弃,请改用 setRemoteDefaultVideoStreamType [1/2]。
根据发送端的默认行为以及调用 setDualStreamMode 时的具体设置,接收端调用该方法的场景如下:
- SDK 默认在发送端启用视频小流自适应模式(
AUTO_SIMULCAST_STREAM),即仅发送视频大流。只有角色为主播的接收端可以调用该方法发起视频小流请求。一旦发送端收到请求后,会自动开始发送视频小流。此时,频道内所有用户都可以调用该方法切换为订阅视频小流模式。 - 如果发送端调用
setDualStreamMode并将mode设置为DISABLE_SIMULCAST_STREAM(从不发送视频小流),则调用该方法无效。 - 如果发送端调用
setDualStreamMode并将mode设置为ENABLE_SIMULCAST_STREAM(始终发送视频小流),则主播和观众角色的接收端都可以调用该方法切换为订阅视频小流模式。
SDK 会根据视频窗口的大小动态调整对应视频流的尺寸,以节省带宽和计算资源。视频小流的默认宽高比与视频大流一致。系统会根据当前视频大流的宽高比,自动分配视频小流的分辨率、帧率和码率。
注: 如果同时调用该方法和 setRemoteVideoStreamType,则以 setRemoteVideoStreamType 的设置为准。
调用时机
请在加入频道前调用该方法。SDK 不支持在加入频道后更改默认订阅的视频流类型。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setRemoteVideoStreamType [1/2]
设置要订阅的视频流类型。
public abstract int setRemoteVideoStreamType(int uid, Constants.VideoStreamType streamType);根据发送端的默认行为以及调用 setDualStreamMode 时的具体设置,接收端调用该方法的场景如下:
- SDK 默认在发送端开启视频小流自适应模式(
AUTO_SIMULCAST_STREAM),即仅发送视频大流。只有角色为主播的接收端可以调用该方法发起视频小流请求。发送端收到请求后,会自动开始发送视频小流。此时,频道内所有用户都可以调用该方法切换为订阅视频小流模式。 - 如果发送端调用
setDualStreamMode并将mode设置为DISABLE_SIMULCAST_STREAM(从不发送视频小流),则调用该方法无效。 - 如果发送端调用
setDualStreamMode并将mode设置为ENABLE_SIMULCAST_STREAM(始终发送视频小流),则主播和观众角色的接收端都可以调用该方法切换为订阅视频小流模式。
SDK 会根据视频窗口的大小动态调整对应视频流的尺寸,以节省带宽和计算资源。视频小流的默认宽高比与视频大流一致。系统会根据当前视频大流的宽高比,自动分配视频小流的分辨率、帧率和码率。
注:
- 可以在加入频道前或加入频道后调用该方法。
- 如果同时调用该方法和
setRemoteDefaultVideoStreamType,则以该方法的设置为准。
参数
| 参数名 | 描述 |
|---|---|
uid | |
streamType | 视频流类型。详见 VideoStreamType。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setRemoteVideoStreamType [2/2]
设置要订阅的视频流类型。
public abstract int setRemoteVideoStreamType(int uid, int streamType)废弃
该方法已废弃,请改用 setRemoteVideoStreamType(int uid, Constants.VideoStreamType streamType)。
根据发送端的默认行为以及调用 setDualStreamMode 时的具体设置,接收端调用此方法的场景如下:
- SDK 默认在发送端启用视频小流自适应模式(
AUTO_SIMULCAST_STREAM),即仅发送视频大流。只有角色为主播的接收端可以调用此方法发起视频小流请求。一旦发送端收到请求后,会自动开始发送视频小流。此时,频道内所有用户都可以调用此方法切换为订阅视频小流模式。 - 如果发送端调用
setDualStreamMode并将mode设置为DISABLE_SIMULCAST_STREAM(从不发送视频小流),则调用此方法无效。 - 如果发送端调用
setDualStreamMode并将mode设置为ENABLE_SIMULCAST_STREAM(始终发送视频小流),则主播和观众角色的接收端都可以调用此方法切换为订阅视频小流模式。
SDK 会根据视频窗口的大小动态调整对应视频流的尺寸,以节省带宽和计算资源。视频小流的默认宽高比与视频大流相同。系统会根据当前视频大流的宽高比,自动分配视频小流的分辨率、帧率和码率。
注:
- 可以在加入频道前或后调用此方法。
- 如果同时调用此方法和
setRemoteDefaultVideoStreamType,则以此方法的设置为准。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setRemoteVideoStreamTypeEx [1/2]
设置要订阅的视频流类型。
public abstract int setRemoteVideoStreamTypeEx(int uid, Constants.VideoStreamType streamType, RtcConnection connection);根据发送端的默认行为以及调用 setDualStreamModeEx 时的具体设置,接收端调用该方法的场景如下:
- SDK 默认在发送端开启视频小流自适应模式(
AUTO_SIMULCAST_STREAM),即仅发送视频大流。此时,仅角色为 Host 的接收端可以调用该方法发起视频小流请求。一旦发送端收到请求后,会自动开始发送视频小流。此时,频道内所有用户均可调用该方法切换为视频小流订阅模式。 - 如果发送端调用
setDualStreamMode并将mode设置为DISABLE_SIMULCAST_STREAM(从不发送视频小流),则调用该方法无效。 - 如果发送端调用
setDualStreamMode并将mode设置为ENABLE_SIMULCAST_STREAM(始终发送视频小流),则 Host 和 Audience 角色的接收端均可调用该方法切换为视频小流订阅模式。
SDK 会根据视频窗口的大小动态调整对应视频流的尺寸,以节省带宽和计算资源。视频小流的默认宽高比与视频大流一致。系统会根据当前视频大流的宽高比,自动分配视频小流的分辨率、帧率和码率。
注: 如果发送端已调用 setDualStreamModeEx 并将 mode 设置为 DISABLE_SIMULCAST_STREAM,则调用该方法无效。你需要在发送端再次调用 setDualStreamModeEx 并调整设置。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
uid | |
streamType | 视频流类型,详见 VideoStreamType。 |
connection | 连接信息,详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setRemoteVideoStreamTypeEx [2/2]
设置要订阅的视频流类型。
public abstract int setRemoteVideoStreamTypeEx(int uid, int streamType, RtcConnection connection);废弃
该方法已废弃,请改用 setRemoteVideoStreamTypeEx [1/2]。
根据发送端的默认行为以及调用 setDualStreamModeEx 时的具体设置,接收端调用该方法的场景如下:
- SDK 默认在发送端启用视频小流自适应模式(
AUTO_SIMULCAST_STREAM),即仅发送视频大流。只有角色为主播的接收端可以调用该方法发起视频小流请求。一旦发送端收到请求,会自动开始发送视频小流。此时,频道内所有用户都可以调用该方法切换为视频小流订阅模式。 - 如果发送端调用
setDualStreamMode并将mode设置为DISABLE_SIMULCAST_STREAM(从不发送视频小流),则调用该方法无效。 - 如果发送端调用
setDualStreamMode并将mode设置为ENABLE_SIMULCAST_STREAM(始终发送视频小流),则主播和观众角色的接收端都可以调用该方法切换为视频小流订阅模式。
SDK 会根据视频窗口的大小动态调整对应视频流的尺寸,以节省带宽和计算资源。视频小流的默认宽高比与视频大流一致。系统会根据当前视频大流的宽高比,自动分配视频小流的分辨率、帧率和码率。
注: 如果发送端已调用 setDualStreamModeEx 并将 mode 设置为 DISABLE_SIMULCAST_STREAM(从不发送视频小流),则调用该方法无效。你应在发送端重新调用 setDualStreamModeEx 并调整设置。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
uid | |
streamType | |
connection | 连接信息。详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setRemoteVideoSubscriptionOptions
设置订阅远端视频流的选项。
public abstract int setRemoteVideoSubscriptionOptions(int uid, VideoSubscriptionOptions options);你可以调用该方法设置订阅远端用户发送的视频流的选项,适用于远端用户开启双流模式的场景。SDK 默认的远端视频流订阅行为取决于注册的视频观察器类型:
- 如果注册了 IVideoFrameObserver 观察器,默认订阅原始数据和编码数据;
- 如果注册了 IVideoEncodedFrameObserver 观察器,默认仅订阅编码数据;
- 如果同时注册了两种观察器,默认行为遵循最后注册的视频观察器。例如,如果最后注册的是 IVideoFrameObserver,则默认订阅原始数据和编码数据。
如果你希望修改默认行为,或为不同的用户 ID 设置不同的订阅选项,可以调用该方法进行设置。
参数
| 参数名 | 描述 |
|---|---|
uid | |
options | 视频订阅选项,详见 VideoSubscriptionOptions。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setRemoteVideoSubscriptionOptionsEx
设置订阅远端视频流的选项。
public abstract int setRemoteVideoSubscriptionOptionsEx(int uid, VideoSubscriptionOptions options, RtcConnection rtcConnection);该方法适用于多频道场景。当远端用户开启双流模式时,你可以调用该方法设置订阅该远端用户发送的视频流的选项。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
uid | |
options | 视频订阅选项,详见 VideoSubscriptionOptions。 |
rtcConnection | 连接信息,详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeAudioAllowlist
设置音频流订阅的白名单。
public abstract int setSubscribeAudioAllowlist(int[] uidList);注:
- 你可以在加入频道前或加入频道后调用此方法。
- 白名单不受 muteRemoteAudioStream、muteAllRemoteAudioStreams 和 ChannelMediaOptions 中
autoSubscribeAudio设置的影响。 - 一旦设置了订阅白名单,即使你离开当前频道并重新加入频道,该设置仍然有效。
- 如果某个用户同时被添加到白名单和黑名单中,则仅黑名单生效。
参数
| 参数名 | 描述 |
|---|---|
uidList | 你希望订阅的用户 ID 列表。调用该方法时,仅订阅该列表中用户的音频流。如果你希望将某个用户从白名单中移除,需要重新调用 setSubscribeAudioAllowlist 方法,并在新的列表中仅包含你希望订阅的用户 ID。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeAudioAllowlistEx
设置音频流订阅的白名单。
public abstract int setSubscribeAudioAllowlistEx(int[] uidList, RtcConnection connection);注:
- 你可以在加入频道前或加入频道后调用此方法。
- 白名单不受 muteRemoteAudioStream、muteAllRemoteAudioStreams 和 ChannelMediaOptions 中
autoSubscribeAudio设置的影响。 - 一旦设置了订阅白名单,即使你离开当前频道并重新加入,该设置仍然有效。
- 如果某个用户同时被添加到白名单和黑名单中,则以黑名单为准。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
uidList | 你想要订阅的用户 ID 列表。如果你希望将某个用户从白名单中移除,需要调用 setSubscribeAudioAllowlist 方法更新用户 ID 列表;也就是说,你只需在新的用户 ID 列表中添加你希望订阅的用户的用户 ID。 |
connection | 连接信息,详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeAudioBlocklist
设置音频流订阅的黑名单。
public abstract int setSubscribeAudioBlocklist(int[] uidList);注:
- 你可以在加入频道前或加入频道后调用此方法。
- 黑名单设置实时生效。将已订阅用户加入黑名单后,该用户的音频流也会停止订阅。
- 黑名单不受 muteRemoteAudioStream、muteAllRemoteAudioStreams 和 ChannelMediaOptions 中
autoSubscribeAudio设置的影响。 - 一旦设置了订阅黑名单,即使你离开当前频道并重新加入频道,该设置仍然有效。
- 如果某个用户同时被加入白名单和黑名单,则仅黑名单生效。
参数
| 参数名 | 描述 |
|---|---|
uidList | 不希望订阅其音频流的用户 ID 列表。
|
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeAudioBlocklistEx
设置音频流订阅的黑名单。
public abstract int setSubscribeAudioBlocklistEx(int[] uidList, RtcConnection connection);你可以调用该方法指定不希望订阅的用户的音频流。
注:
- 你可以在加入频道前或加入频道后调用此方法。
- 黑名单设置实时生效。将已订阅用户加入黑名单后,该用户的音频流也会停止订阅。
- 黑名单设置不受 muteRemoteAudioStream、muteAllRemoteAudioStreams 和 ChannelMediaOptions 中的
autoSubscribeAudio的影响。 - 一旦设置了订阅黑名单,即使离开当前频道并重新加入频道,该设置仍然有效。
- 如果某个用户同时被加入白名单和黑名单,则仅黑名单生效。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
uidList | 不希望订阅其音频流的用户 ID 列表。 注:
|
connection | 连接信息,详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeVideoAllowlist
设置视频流订阅的白名单。
public abstract int setSubscribeVideoAllowlist(int[] uidList);注:
- 你可以在加入频道前或加入频道后调用此方法。
- 白名单不受 muteRemoteVideoStream、muteAllRemoteVideoStreams 和 ChannelMediaOptions 中的
autoSubscribeVideo设置的影响。 - 一旦设置了订阅白名单,即使你离开当前频道并重新加入,该设置仍然有效。
- 如果某个用户同时被添加到白名单和黑名单中,则仅黑名单生效。
参数
| 参数名 | 描述 |
|---|---|
uidList | 希望订阅的视频流所属用户的用户 ID 列表。
|
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeVideoAllowlistEx
设置视频流订阅的白名单。
public abstract int setSubscribeVideoAllowlistEx(int[] uidList, RtcConnection connection);注:
- 你可以在加入频道前或加入频道后调用此方法。
- 白名单不受 muteRemoteVideoStream、muteAllRemoteVideoStreams 和 ChannelMediaOptions 中的
autoSubscribeVideo设置的影响。 - 一旦设置了订阅白名单,即使离开当前频道并重新加入频道,白名单依然有效。
- 如果某个用户同时被加入白名单和黑名单,则仅黑名单生效。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
uidList | 希望订阅的视频流所属用户的用户 ID 列表。
|
connection | 连接信息。详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeVideoBlocklist
设置视频流订阅的阻止名单。
public abstract int setSubscribeVideoBlocklist(int[] uidList);注:
- 你可以在加入频道前或加入频道后调用此方法。
- 黑名单设置实时生效。将已订阅用户加入黑名单后,该用户的视频流也会停止订阅。
- 阻止名单不受 muteRemoteVideoStream、muteAllRemoteVideoStreams 和 ChannelMediaOptions 中的
autoSubscribeVideo的设置影响。 - 一旦设置了订阅的阻止名单,即使你离开当前频道并重新加入频道,该设置仍然有效。
- 如果某个用户同时被添加到允许名单和阻止名单中,则仅阻止名单生效。
参数
| 参数名 | 描述 |
|---|---|
uidList | 不希望订阅其视频流的用户 ID 列表。
|
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setSubscribeVideoBlocklistEx
设置视频流订阅的黑名单。
public abstract int setSubscribeVideoBlocklistEx(int[] uidList, RtcConnection connection);注:
- 你可以在加入频道前或加入频道后调用此方法。
- 黑名单设置实时生效。将已订阅用户加入黑名单后,该用户的视频流也会停止订阅。
- 黑名单设置不受 muteRemoteVideoStream、muteAllRemoteVideoStreams 和 ChannelMediaOptions 中的
autoSubscribeVideo的影响。 - 一旦设置了订阅黑名单,即使你离开当前频道并重新加入,该设置仍然有效。
- 如果某个用户同时被加入白名单和黑名单,则仅黑名单生效。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
uidList | 不希望订阅其视频流的远端用户 ID 列表。如果你希望取消订阅某个用户的视频流,请将该用户的用户 ID 添加到该列表中。如果你希望将某个用户从黑名单中移除,需要调用 setSubscribeVideoBlocklist 方法更新用户 ID 列表,即仅在新的列表中添加你不希望订阅的用户的用户 ID。 |
connection | 连接信息。详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
onAudioPublishStateChanged
音频发布状态发生变化回调。
public void onAudioPublishStateChanged(String channel, int oldState, int newState, int elapseSinceLastState)触发时机
该回调在音频发布状态发生变化时被触发。
参数
| 参数名 | 描述 |
|---|---|
channel | |
oldState | |
newState | |
elapseSinceLastState |
所属接口类
onAudioSubscribeStateChanged
音频订阅状态发生变化回调。
public void onAudioSubscribeStateChanged(String channel, int uid, int oldState, int newState, int elapseSinceLastState)该回调在本地用户订阅远端音频流的状态发生变化时触发。
触发时机
该回调在本地用户订阅远端音频流的状态发生变化时被触发。
参数
| 参数名 | 描述 |
|---|---|
channel | |
uid | |
oldState | 之前的订阅状态:
|
newState | 当前的订阅状态:
|
elapseSinceLastState |
所属接口类
onVideoSubscribeStateChanged
视频订阅状态发生变化回调。
public void onVideoSubscribeStateChanged(String channel, int uid, int oldState, int newState, int elapseSinceLastState)触发时机
该回调在本地用户订阅远端视频流的状态发生变化时被触发。
参数
| 参数名 | 描述 |
|---|---|
channel | |
uid | |
oldState | 之前的订阅状态:
|
newState | 当前的订阅状态:
|
elapseSinceLastState |