发布和订阅

  • HarmonyOS

更新时间不可用

muteAllRemoteAudioStreams

取消或恢复订阅所有远端用户的音频流。

TypeScript
public abstract muteAllRemoteAudioStreams(muted: boolean): number;

成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的音频流,包括在调用该方法后加入频道的用户的音频流。

注意:

SDK 默认在加入频道时订阅所有远端用户的音频流,如果要修改此行为,可以在调用 joinChannelWithOptions 加入频道时设置 autoSubscribeAudio 为 false,即可在加入频道时取消订阅所有用户的音频流。

调用时机

该方法需要在加入频道后调用。

调用限制

如果在调用该方法之后又调用了 enableAudio 或 disableAudio,则后调用的方法会生效。

参数

参数名描述
muted

是否取消订阅所有远端用户的音频流:

  • true: 取消订阅所有远端用户的音频流。
  • false:(默认)订阅所有远端用户的音频流。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

muteAllRemoteAudioStreamsEx

取消或恢复订阅所有远端用户的音频流。

TypeScript
public abstract muteAllRemoteAudioStreamsEx(muted:boolean,connection:RtcConnection):number;

详情

成功调用该方法后,本地用户会取消或恢复订阅远端用户的音频流,包括在调用该方法后加入频道的用户的音频流。

注意:

  • 该方法需要在加入频道后调用。
  • 如果需要在加入频道前设置默认不订阅远端用户音频流,可以在调用 joinChannelWithOptions 加入频道时设置 autoSubscribeAudio 为 false。

参数

参数名描述
muted

是否取消订阅所有远端用户的音频流:

  • true: 取消订阅所有远端用户的音频流。
  • false:(默认)订阅所有远端用户的音频流。
connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

muteAllRemoteVideoStreams

取消或恢复订阅所有远端用户的视频流。

TypeScript
public abstract muteAllRemoteVideoStreams(muted: boolean): number;

成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的视频流,包括在调用该方法后加入频道的用户的视频流。

注意:

SDK 默认在加入频道时订阅所有远端用户的视频流,如果要修改此行为,可以在调用 joinChannelWithOptions 加入频道时设置 autoSubscribeVideo 为 false,即可在加入频道时取消订阅所有用户的视频流。

调用时机

该方法需要在加入频道后调用。

调用限制

如果在调用该方法之后又调用了 enableVideo 或 disableVideo,则后调用的方法会生效。

参数

参数名描述
muted

是否取消订阅所有远端用户的视频流。

  • true: 取消订阅所有用户的视频流。
  • false:(默认)订阅所有用户的视频流。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

muteAllRemoteVideoStreamsEx

取消或恢复订阅所有远端用户的视频流。

TypeScript
public abstract muteAllRemoteVideoStreamsEx(muted:boolean,connection:RtcConnection):number;

详情

成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的视频流,包括在调用该方法后加入频道的用户的视频流。

参数

参数名描述
muted

是否取消订阅所有远端用户的视频流。

  • true: 取消订阅所有用户的视频流。
  • false:(默认)订阅所有用户的视频流。
connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

muteLocalAudioStream

取消或恢复发布本地音频流。

TypeScript
public abstract muteLocalAudioStream(muted: boolean): number;

该方法用于控制是否发布本地采集的音频流。如果不发布本地采集的音频流,也不会禁用音频采集设备,所以不影响音频的采集状态。

调用时机

加入频道前后均可调用。

调用限制

无。

相关回调

成功调用该方法后,本地会触发 onAudioPublishStateChanged 回调;远端会触发 onUserMuteAudio 回调和 onRemoteAudioStateChanged 回调。

参数

参数名描述
muted

是否取消发布本地音频流。

  • true: 取消发布。
  • false:(默认)发布。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

muteLocalAudioStreamEx

取消或恢复发布本地音频流。

TypeScript
public abstract muteLocalAudioStreamEx(muted:boolean,connection:RtcConnection):number;

详情

注意: 该方法不影响音频采集状态,因为没有禁用音频采集设备。

成功调用该方法后,远端会触发 onUserMuteAudio 回调和 onRemoteAudioStateChanged 回调。

参数

参数名描述
muted

是否取消发布本地音频流。

  • true: 取消发布。
  • false:(默认)发布。
connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

muteLocalVideoStream

取消或恢复发布本地视频流。

TypeScript
public abstract muteLocalVideoStream(muted: boolean): number;

该方法用于控制是否发布本地采集的视频流。如果不发布本地采集的视频流,也不会禁用视频采集设备,所以不影响视频的采集状态。

相比于调用 enableLocalVideo(false) 关闭本地视频流采集、从而取消发布本地视频流的方法,该方法响应速度更快。

调用时机

加入频道前后均可调用。

调用限制

无。

相关回调

成功调用该方法后,本地会触发 onVideoPublishStateChanged 回调;远端会触发 onUserMuteVideo 回调和 onRemoteVideoStateChanged 回调。

参数

参数名描述
muted

是否取消发送本地视频流。

  • true: 取消发送本地视频流。
  • false: (默认)发送本地视频流。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

muteLocalVideoStreamEx

取消或恢复发布本地视频流。

TypeScript
public abstract muteLocalVideoStreamEx(muted:boolean,connection:RtcConnection):number;

详情

成功调用该方法后,远端会触发 onUserMuteVideo 回调。

注意:

  • 该方法不影响视频采集状态,没有禁用摄像头。

参数

参数名描述
muted

是否取消发送本地视频流。

  • true: 取消发送本地视频流。
  • false: (默认)发送本地视频流。
connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

muteRemoteAudioStream

取消或恢复订阅指定远端用户的音频流。

TypeScript
public abstract muteRemoteAudioStream(uid: number, muted: boolean): number;

调用时机

该方法需要在加入频道后调用。

调用限制

无。

相关回调

成功调用该方法后,本地会触发 onAudioSubscribeStateChanged 回调。

参数

参数名描述
uid

指定用户的用户 ID。

muted

是否取消订阅指定远端用户的音频流。

  • true: 取消订阅指定用户的音频流。
  • false:(默认)订阅指定用户的音频流。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

muteRemoteAudioStreamEx

停止/恢复接收指定的音频流。

TypeScript
public abstract muteRemoteAudioStreamEx(uid:number,muted:boolean,connection:RtcConnection):number;

详情

该方法停止/恢复接收某一个指定远端用户的音频流。在加入频道前或后都可以调用。该方法的设置在离开频道后失效。

参数

参数名描述
uid

指定用户的 ID。

muted

是否停止接收指定音频流:

  • true: 停止接收指定音频流。
  • false:(默认)继续接收指定音频流。
connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

muteRemoteVideoStream

取消或恢复订阅指定远端用户的视频流。

TypeScript
public abstract muteRemoteVideoStream(uid: number, muted: boolean): number;

调用时机

该方法需要在加入频道后调用。

调用限制

无。

相关回调

成功调用该方法后,本地会触发 onVideoSubscribeStateChanged 回调。

参数

参数名描述
uid

指定用户的用户 ID。

muted

是否取消订阅指定远端用户的视频流。

  • true: 取消订阅指定用户的视频流。
  • false: (默认)订阅指定用户的视频流。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

muteRemoteVideoStreamEx

停止/恢复接收指定的视频流。

TypeScript
public abstract muteRemoteVideoStreamEx(uid:number,muted:boolean,connection:RtcConnection):number;

详情

该方法停止/恢复接收某一个指定远端用户的视频流。在加入频道前或后都可以调用。该方法的设置在离开频道后失效。

参数

参数名描述
uid

远端用户的 ID。

muted

是否停止接收某个远端用户的视频:

  • true: 停止接收。
  • false: (默认)恢复接收。
connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

onAudioPublishStateChanged

音频发布状态改变回调。

TypeScript
onAudioPublishStateChanged?:(channel:string, oldState:Constants.StreamPublishState, newState:Constants.StreamPublishState, elapseSinceLastState:number) => void;

参数

参数名描述
channel

频道名。

oldState

之前的发布状态,详见 StreamPublishState。

newState

当前的发布状态,详见 StreamPublishState。

elapseSinceLastState

两次状态变化时间间隔(毫秒)。

表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类

onAudioSubscribeStateChanged

音频订阅状态发生改变回调。

TypeScript
onAudioSubscribeStateChanged?:(channel:string,uid:number,oldState:Constants.StreamSubscribeState,newState:Constants.StreamSubscribeState,elapseSinceLastState:number) =>void;

参数

参数名描述
channel

频道名。

uid

远端用户的 ID。

oldState

之前的订阅状态,详见 StreamSubscribeState。

newState

当前的订阅状态,详见 StreamSubscribeState。

elapseSinceLastState

两次状态变化时间间隔(毫秒)。

表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类

onVideoSubscribeStateChanged

视频订阅状态发生改变回调。

TypeScript
onVideoSubscribeStateChanged?:(channel:string,uid:number,oldState:Constants.StreamSubscribeState,newState:Constants.StreamSubscribeState,elapseSinceLastState:number) =>void;

参数

参数名描述
channel

频道名。

uid

远端用户的 ID。

oldState

之前的订阅状态,详见 StreamSubscribeState。

newState

当前的订阅状态,详见 StreamSubscribeState。

elapseSinceLastState

两次状态变化时间间隔(毫秒)。

表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类