为方便管理用户的订阅逻辑,声网提供了如下方法(以音频为例):
在大重构 SDK 中,我们对上述方法的相互关联进行了梳理及优化:muteAll
和 mute
方法互不依赖。无论当前设置如何,muteAll
都会对当前所有用户,和即将加入频道的用户(如有)生效;mute
都会对指定用户生效。
下面用三个具体的示例说明大重构和老引擎的实现差异。
示例一
大重构 |
老引擎 |
muteAllRemoteAudioStreams(true) muteRemoteAudioStream(A, false)
|
setDefaultMuteAllRemoteAudioStreams(true) muteRemoteAudioStream(A, false)
|
大重构 |
老引擎 |
muteAllRemoteAudioStreams(true) muteRemoteAudioStream(A, false)
|
muteAllRemoteAudioStreams(true) muteAllRemoteAudioStreams(false) muteRemoteAudioStream(A, false)
|
示例二
大重构 |
老引擎 |
muteAllRemoteAudioStreams(false) muteRemoteAudioStream(A, true)
|
setDefaultMuteAllRemoteAudioStreams(false) muteRemoteAudioStream(A, true)
|
大重构 |
老引擎 |
muteAllRemoteAudioStreams(false) muteRemoteAudioStream(A, true)
|
muteAllRemoteAudioStreams(false) muteAllRemoteAudioStreams(true) muteRemoteAudioStream(A, true)
|
示例三
先停止接收所有流,再恢复接收指定用户的流。
大重构 |
老引擎 |
muteAllRemoteAudioStreams(true) muteRemoteAudioStream(A, false)
|
muteAllRemoteAudioStreams(true) muteRemoteAudioStream(B, true) muteRemoteAudioStream(C, true) muteAllRemoteAudioStreams(false)
|
示例四
先停止接收指定用户的流,再恢复接收所有流。
大重构 |
老引擎 |
muteRemoteAudioStream(A, true) muteAllRemoteAudioStreams(true) muteAllRemoteAudioStreams(false)
|
muteRemoteAudioStream(A, true) muteAllRemoteAudioStreams(true) muteAllRemoteAudioStreams(false) muteRemoteAudioStream(A, false)
|