muteLocally method
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);
}