muteLocally method

Future<bool> muteLocally({
  1. int targetIndex = -1,
  2. bool muted = true,
})

Mute the user at the targetIndex seat locally. After mute, if you want to un-mute, you can set muted to false.

And on side of the user at the targetIndex seat, return true/false in the callback of ZegoLiveAudioRoomAudioVideoEvents.onMicrophoneTurnOnByOthersConfirmation to open microphone or not.

Related APIs: muteStateNotifier muteLocallyByUserID ZegoLiveAudioRoomControllerSeatHostImpl.mute ZegoLiveAudioRoomControllerSeatHostImpl.muteByUserID ZegoLiveAudioRoomAudioVideoEvents.onMicrophoneTurnOnByOthersConfirmation

example: Mute/UnMute users on the $targetIndex

 ZegoUIKitPrebuiltLiveAudioRoomController().seat.muteLocally(
   targetIndex: $targetIndex,
   muted: ! ZegoUIKitPrebuiltLiveAudioRoomController().seat.mutedStateNotifier(
     $targetIndex,
     isLocal: true,
   ).value,
 );

Implementation

Future<bool> muteLocally({
  int targetIndex = -1,
  bool muted = true,
}) async {
  ZegoLoggerService.logInfo(
    'muteLocal, targetIndex:$targetIndex, muted:$muted,',
    tag: 'audio room',
    subTag: 'controller.seat',
  );

  final targetUserID =
      private.seatManager?.getUserByIndex(targetIndex)?.id ?? '';
  return await ZegoUIKit().muteUserAudio(targetUserID, muted);
}