One can join a zoom meeting using Internet Audio or Telephone.
Lets say in our app we always want to force internet audio.
When before joining the meeting I set audio to ON everything is fine and I join the meeting with Audio ON.
However when I join the meeting with audio OFF the macOS app is showing me the following button state.
As far as I’m concerned this the Join Computer Audio has absolutely nothing to do with whether I will or will not want to enable my mic at some point. It’s about whether I want to hear what other meeting participants want to say.
This is how we are joining the meeting:
func joinMeeting(
url: String?,
number: Int64?,
screenName: String,
password: String?,
audioOn: Bool = false,
videoOn: Bool = false,
completion: @escaping StartMeetingCompletion
) {
print("isCatchHDVideoOn: \(sdk.getSettingService()?.getVideoSetting()?.isCatchHDVideoOn() ?? false)")
print(
"isMuteMyVideoWhenJoinMeetingOn: \(sdk.getSettingService()?.getVideoSetting()?.isMuteMyVideoWhenJoinMeetingOn() ?? false)"
)
joinMeetingCompletion = completion
sdk.getSettingService()?.getAudioSetting()?.enableAutoJoinVoip(true)
sdk.getSettingService()?.getAudioSetting()?.enableMuteMicJoinVoip(!audioOn)
let hdResult = sdk.getSettingService()?.getVideoSetting()?.enableCatchHDVideo(true)
let videoResult = sdk.getSettingService()?.getVideoSetting()?.disableVideoJoinMeeting(!videoOn)
sdkMeetingService?.getMeetingUIController()?.isShowVideoPreview(whenJoinMeeting: false)
print("enableCatchHDVideo(true) result: \(String(describing: hdResult))")
print("disableVideoJoinMeeting(\(!videoOn)) result: \(String(describing: videoResult))")
print("isCatchHDVideoOn: \(sdk.getSettingService()?.getVideoSetting()?.isCatchHDVideoOn() ?? false)")
print(
"isMuteMyVideoWhenJoinMeetingOn: \(sdk.getSettingService()?.getVideoSetting()?.isMuteMyVideoWhenJoinMeetingOn() ?? false)"
)
let userType = (sdk.getAuthService()?.isAuthorized() ?? false) ? ZoomSDKUserType_ZoomUser :
ZoomSDKUserType_WithoutLogin
let joinMeetingElements = ZoomSDKJoinMeetingElements()
joinMeetingElements.userType = userType
joinMeetingElements.webinarToken = nil
joinMeetingElements.participantId = nil
joinMeetingElements.meetingNumber = number
joinMeetingElements.displayName = screenName
joinMeetingElements.password = password
joinMeetingElements.isDirectShare = false
joinMeetingElements.isNoVideo = !videoOn
joinMeetingElements.isNoAuido = !audioOn
joinMeetingElements.vanityID = nil
let result = sdkMeetingService?.joinMeeting(joinMeetingElements)
if result != ZoomSDKError_Success {
joinMeetingCompletion?(ZoomMeetingResponse(
status: .failed,
error: .unknown,
reason: .none,
meeting: getCurrentMeeting()
))
}
}
Can you please enlighten me what do we see the above behavior? What do we need to do to always join the computer Audio and de-couple it from the microphone ON/OFF?
Thank you