Manage in-meeting audio settings
After the SDK is initialized and you are connected to the Zoom client, use ZoomToolSuiteAPI.Setting.Audio
for device selection and audio processing, and ZoomToolSuiteAPI.Meeting.Audio for in-meeting mute
controls. Participant audio state comes from ZoomToolSuiteUser via ZoomToolSuiteAPI.Meeting.Participants.
APIs are static on ZoomToolSuiteAPI.Setting.Audio and ZoomToolSuiteAPI.Meeting.Audio.
Participant audio state
ZoomToolSuiteUser exposes ZoomToolSuiteAudioType and bAudioMuted.
let me = ZoomToolSuiteAPI.Meeting.Participants.getMySelf()
let _ = me.audioType
let _ = me.bAudioMuted
if let other = ZoomToolSuiteAPI.Meeting.Participants.getUserByUserID(12345, meetingType: .default) {
let _ = other.audioType
}
Manage the audio speaker
List devices with getAudioDeviceList(false), and inspect devices with ZoomToolSuiteDeviceInfo.
Switch devices with selectAudioDevice(_:deviceId:deviceName:completion:), with the first
parameter for the speaker set as false.
let speakers = ZoomToolSuiteAPI.Setting.Audio.getAudioDeviceList(bMic: false)
for device in speakers where device.isSelected {
// current output
}
ZoomToolSuiteAPI.Setting.Audio.selectAudioDevice(
bMic: false,
deviceId: deviceId,
deviceName: deviceName
) { result in
}
Manage the audio microphone
Managing audio microphone follows a similar pattern as managing the audio speaker. List devices with
getAudioDeviceList(true), and inspect devices with ZoomToolSuiteDeviceInfo. Switch with
selectAudioDevice(_:deviceId:deviceName:completion:), with the first parameter for the microphone set as true.
let mics = ZoomToolSuiteAPI.Setting.Audio.getAudioDeviceList(bMic: true)
ZoomToolSuiteAPI.Setting.Audio.selectAudioDevice(
bMic: true,
deviceId: deviceId,
deviceName: deviceName
) { result in
}
Mute or unmute your microphone
To mute the current user's microphone, use muteMyAudio. To unmute on the current user's microphone,
use unmuteMyAudio. To toggle the current user's microphone mute or unmute status, use toggleMyAudioStatus.
ZoomToolSuiteAPI.Meeting.Audio.muteMyAudio { result in
}
ZoomToolSuiteAPI.Meeting.Audio.unmuteMyAudio { result in
}
ZoomToolSuiteAPI.Meeting.Audio.toggleMyAudioStatus { result in
}
Hosts can control whether participants may unmute themselves. To check if participants are
allowed to unmute themselves, hosts can use isParticipantsUnmuteSelfAllowed. To let all
participants mute or unmute themselves, use allowParticipantsToUnmuteSelf.
ZoomToolSuiteAPI.Meeting.Participants.isParticipantsUnmuteSelfAllowed { result in
// result.value, etc.
}
ZoomToolSuiteAPI.Meeting.Participants.allowParticipantsToUnmuteSelf(
true,
completion: { _ in },
meetingType: .default
)
Mute or unmute everyone
To mute all current participants, use muteAllAudio. To unmute all current participants, use unMuteAllAudio.
NOTE Only hosts or co-hosts may mute or unmute all participants.
ZoomToolSuiteAPI.Meeting.Audio.muteAllAudio { result in
}
ZoomToolSuiteAPI.Meeting.Audio.unMuteAllAudio { result in
}
Mute participants on entry
To mute participants as they enter the meeting, use enableMuteOnEntryFeature. To see if
this feature is currently enabled, use isMuteOnEntryFeatureOn.
ZoomToolSuiteAPI.Meeting.Audio.enableMuteOnEntryFeature(
enable: true,
allowUnmuteBySelf: true,
completion: { _ in },
meetingType: .default
)
ZoomToolSuiteAPI.Meeting.Audio.isMuteOnEntryFeatureOn { _ in
}