静音和取消静音

更新时间: 2026/03/23 18:52:39

本文介绍如何通过 NERoom SDK 静音或取消静音,包括静音本人或静音房间内其他成员。

功能介绍

NERoom SDK 支持通过 unmuteMyAudio 和 muteMyAudio 开启或关闭本地音频流的采集与上行。

注意事项

您需要先调用 joinRoom 方法加入 NERoom 的房间。

打开或关闭本地音频

技术原理

muteMyAudio.png

配置步骤

  1. 加入房间后,调用 getRoomContext 方法获取房间上下文。

    调用此方法时,您需要将 roomUuid 设置为您所加入房间的 ID。

  2. 调用 unmuteMyAudio 方法开启本地音频采集。

示例代码

JavaNERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
NERoomContext roomContext = roomService.getRoomContext(roomUuid);
if (roomContext != null) {
        roomContext.getRtcController().unmuteMyAudio(new NECallback2<Unit>() {
            @Override
            public void onSuccess(@Nullable Unit unit) {
                super.onSuccess(unit);
                Log.d(TAG,"success");
            }

            @Override
            public void onError(int code, @Nullable String message) {
                super.onError(code, message);
                Log.d(TAG,"error");
            }
        });
}

关闭本地音频

配置步骤

  1. 加入房间后,调用 getRoomContext 方法获取房间上下文。

    调用此方法时,您需要将 roomUid 设置为您所加入房间的 ID。

  2. 调用 muteMyAudio 方法关闭本地音频采集。

示例代码

JavaNERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
NERoomContext roomContext = roomService.getRoomContext(roomUuid);
if (roomContext != null) {
        roomContext.getRtcController().muteMyAudio(new NECallback2<Unit>() {
            @Override
            public void onSuccess(@Nullable Unit unit) {
                super.onSuccess(unit);
                Log.d(TAG,"success");
            }

            @Override
            public void onError(int code, @Nullable String message) {
                super.onError(code, message);
                Log.d(TAG,"error");
            }
        });
}

静音房间其他成员

您可以在云信控制台上配置某角色是否具备静音房间其他成员的权限,只有具备该权限的角色才可以执行此操作。

配置步骤

  1. 加入房间后,调用 getRoomContext 方法获取房间上下文。

    调用此方法时,您需要将 roomUid 设置为您所加入房间的 ID。

  2. 调用 muteMemberAudio 方法,传入对应成员 uuid,静音房间中的某个成员。

一次只能传入一个成员的 uuid。

示例代码

JavaNERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
NERoomContext roomContext = roomService.getRoomContext(roomUuid);
if (roomContext != null) {
        String userUuid = "uuid";
        roomContext.getRtcController().muteMemberAudio(userUuid, new NECallback2<Unit>() {
            @Override
            public void onSuccess(@Nullable Unit unit) {
                super.onSuccess(unit);
                Log.d(TAG,"success");
            }

            @Override
            public void onError(int code, @Nullable String message) {
                super.onError(code, message);
                Log.d(TAG,"error");
            }
        });
}

取消静音房间其他成员

您可以在云信控制台上配置某角色是否具备取消静音房间其他成员的权限,只有具备该权限的角色才可以执行此操作。

配置步骤

  1. 加入房间后,调用 getRoomContext 方法获取房间上下文。

    调用此方法时,您需要将 roomUid 设置为您所加入房间的 ID。

  2. 调用 unmuteMemberAudio 方法,传入对应成员uuid,取消静音房间中的某个成员。

一次只能传入一个成员的 uuid。

示例代码

JavaNERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
        NERoomContext roomContext = roomService.getRoomContext(roomUuid);
        if (roomContext != null) {
             String userUuid = "uuid";
             roomContext.getRtcController().unmuteMemberAudio(userUuid, new NECallback2<Unit>() {
                 @Override
                 public void onSuccess(@Nullable Unit unit) {
                     super.onSuccess(unit);
                     Log.d(TAG,"success");
                 }

                 @Override
                 public void onError(int code, @Nullable String message) {
                     super.onError(code, message);
                     Log.d(TAG,"error");
                 }
             });
        }

API 参考

方法 功能描述
joinRoom 加入 NERoom 的房间。
getRoomContext 获取房间上下文。
unmuteMyAudio 开启本地音频采集。
muteMyAudio 关闭本地音频采集。
muteMemberAudio 静音房间中的某个成员。
unmuteMemberAudio 取消静音房间中的某个成员。
此文档是否对你有帮助?
有帮助
去反馈
  • 功能介绍
  • 注意事项
  • 打开或关闭本地音频
  • 技术原理
  • 配置步骤
  • 示例代码
  • 关闭本地音频
  • 配置步骤
  • 示例代码
  • 静音房间其他成员
  • 配置步骤
  • 示例代码
  • 取消静音房间其他成员
  • 配置步骤
  • 示例代码
  • API 参考