Description
I am exploring creating a dedicated mute (and call status) button (on a custom keyboard) similar to the interface on my headset cable (green light if in zoom call, red light if on mute, button to toggle mute). The mute status of the headset syncs with the app which is a relatively new feature.
I am hoping to be able to interact with the official Zoom Desktop Cilent. I see a bunch of “automation” centric solutions involving window and control scraping, but am looking for an API exposed by the Zoom Desktop application. The “sync” of the mute button on the headset implies there may be.
I have seen a few questions about accessing Mute/Unmute, but they tend to focus on webhook or REST APIs. I am aware if zoommtg:// protocol, but seems that is one way with a focus on starting/joining meetings.
Just to clarify, the SDK supports mute and unmute actions, but no ability to get current mute status, correct? Is it possible to register a listener to be notified when mute status changes?
The use case here is to externalize control of the zoom call to a hardware device like the Elgato Stream Deck. The Zoom client usability suffers greatly in a remote work setup where users must operate Citrix or other remote desktop. Constantly hunting down the client when you are using Citrix or similar remote desktop application just adds friction to the process. Being able to control the mute status is obviously useful but trusting the current status indicated in the hardware requires the ability to obtain it.
Thanks for the reply. If you would like to get the mute status, you can leverage the following callback:
/**
* @brief Notification of user's audio status changes.
* @param userAudioStatusArray An array contains ZoomSDKUserAudioStauts elements of each user's audio status.
*
*/
- (void)onUserAudioStatusChange:(NSArray*)userAudioStatusArray;
I’m with you in terms of wanting external device control/status for StreamDeck or other applications - like a big busy light that shows mute status, and being able to mash a button that positively mutes/unmutes etc, rather than a single keystroke for toggling current status.
As mentioned earlier in this thread, this forum is only meant for assisting developers who are integrating our macOS SDK into their own applications. To submit feedback regarding the Zoom client please fill out the feedback form here.
Alternatively, any feature requests for the Zoom developer platform can be posted over in #feature-requests.
We were able to use the Zoom SDK to build what you are looking for (I think) with the event callbacks provided when these actions occur. The source code for the streamdeck plugin that relates to the Zoom app is available on Bitfocus Companion; it ties to ZoomOSC which is an SDK client.
So insofar as the ZoomSDK is concerned, yes it can be done.
@ian.beyer if I have misunderstood and you were in fact asking about the macOS SDK, I apologize. Please let me know if you need any additional help with the SDK if that is the case.
It is possible to receive a callback when another users mutes or unmutes as long as you have joined the same meeting as them through your own app which implements the Meeting SDK. With the SDK, the callback you would use is onUserAudioStatusChange.