C# Wrapper: Add_CB_onUserAudioStatusChange no userId

I am implementing the callback to Add_CB_onUserAudioStatusChange, but I always get 0 as user Id.
Here is some sample code:

        private void OnUserAudioStatusChange(IUserAudioStatusDotNetWrap[] lstAudioStatusChange)
            if (lstAudioStatusChange == null || lstAudioStatusChange.Length == 0)

            for (int i = lstAudioStatusChange.GetLowerBound(0); i <= lstAudioStatusChange.GetUpperBound(0); i++)
                var change = (IUserAudioStatusDotNetWrap)lstAudioStatusChange.GetValue(i);

                Debug.WriteLine($"User audio status: {change.GetUserId()}, status {change.GetStatus()}", nameof(ZoomService));

This is the result:

ZoomService: User audio status: 0, status Audio_UnMuted
ZoomService: User audio status: 0, status Audio_Muted
ZoomService: User audio status: 0, status Audio_UnMuted

What’s wrong with my code? Is it a problem of the sdk/wrapper?


Hi bragma,

Thanks for the post and pardon the late response. The code snippet looks great but the result sounds unexpected. To further investigate this issue, you may modify the C# wrapper and make it debuggable, and see if the class IUserAudioStatusDotNetWrapImpl is being used correctly and sees the return value from the Windows SDK interfaces.

Hope this helps. Thanks!