@zoom/appssdk - v0.16.4: [onMyActiveSpeakerChange] - Inconsistent behavior (events seem to be emitted randomly)

API Endpoint(s) and/or Zoom API Event(s)
@zoom/appssdk - v0.16.4: [onMyActiveSpeakerChange]

Description
According to the documentation, onMyActiveSpeakerChange should “notify Zoom App when current user starts or stops speaking.” It seems the events emitted should somewhat correspond to Zoom’s Active Speaker view (a green frame around the speaker or an animation on the microphone icon).

However, in our experience, events are emitted inconsistently and seemingly independently of when the user starts or stops speaking.

We’ve recorded this test video based on zoom/zoomapps-sample-js and noticed the following issues (“main speaker” is the speaker running the Zoom App):

1) Second speaker is unmuted, but is not talking (0:00 - 0:18): start and stop events are randomly emitted every second or so, regardless of if the main speaker is talking or not.

2) Second speaker is talking, first speaker is silent (0:18 - 0:23): The last event emitted is start even though the second person is speaking and the main speaker is silent.

3) Second speaker is muted (0:30 - 0:40): start and stop events are randomly emitted every second or so, regardless of if the main speaker is talking or not. Sometimes it is stuck in the start state even though the main speaker is silent (0:35-0:40).

4) Main speaker is muted (1:06 - 1:12): The last event emitted is start even though the other person is speaking and the main speaker is muted.

Considering the video above, we believe that it is virtually impossible to use onMyActiveSpeakerChange to determine if the user is talking. On top of the events being emitted sporadically, it doesn’t seem to make sense for stop event not to be emitted when the main user mutes their microphone or when the second user starts talking with the main user staying silent.

How To Reproduce
Steps to reproduce the behavior:
1. Clone GitHub - zoom/zoomapps-sample-js: A Hello World Zoom App built with Vanilla JS
*2. Add 'onMyActiveSpeakerChange' under capabilities in public/js/index.js
3. Add zoomSdk.onMyActiveSpeakerChange((data) => {console.log('onMyActiveSpeakerChange', data)}) before the catch block in public/js/index.js
4. Launch the app in a meeting and test events emitted

May I know your Zoom client version? If possible could you update Zoom Client to latest version and see if your are still experiencing this issue.

1 Like

Hi, we initially tested it on version 5.11.6 (9890) . I have updated it to version 5.11.11 (10514) but the issue still persists - it seems to be impossible to determine when the user starts or stops speaking from the events emitted.