# C# wrapper onUserAudioStatusChange event problem

**URL:** <https://devforum.zoom.us/t/c-wrapper-onuseraudiostatuschange-event-problem/20809>\
**Category:** API and Webhooks\
**Created:** [June 9, 2020, 4:56pm UTC](https://devforum.zoom.us/t/c-wrapper-onuseraudiostatuschange-event-problem/20809 "2020-06-09T16:56:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![robert.hostacny](https://avatars.discourse-cdn.com/v4/letter/r/bc8723/32.png) [@robert.hostacny](https://devforum.zoom.us/u/robert.hostacny)\
**Post date:** [June 9, 2020, 4:56pm UTC](https://devforum.zoom.us/t/c-wrapper-onuseraudiostatuschange-event-problem/20809/1 "2020-06-09T16:56:40Z")

</div>

Hello all

I do use C# wrapper from [GitHub - zoom/zoom-c-sharp-wrapper: C# wrapper for Zoom Windows SDK](https://github.com/zoom/zoom-c-sharp-wrapper). The version is [v4.6.21666.0428].

I do have an issue in audio event handler (see code snippet below):

```
serviceController = ZOOM_SDK_DOTNET_WRAP.CZoomSDKeDotNetWrap.Instance.GetMeetingServiceWrap();
audioController = serviceController.GetMeetingAudioController();

audioController.Add_CB_onUserActiveAudioChange(onUserActiveAudioChange);
audioController.Add_CB_onUserAudioStatusChange(onUserAudioStatusChange);

private void onUserActiveAudioChange(uint[] lstActiveAudio) 
        {
            Console.WriteLine("onUserActiveAudioChange lstActiveAudio");
            if (lstActiveAudio != null)
            {
                foreach (uint el in lstActiveAudio)
                {
                    Console.WriteLine("activeAudio={0}", el);
                }
            }
        }

private void onUserAudioStatusChange(IUserAudioStatusDotNetWrap[] lstAudioStatusChange) 
        {
            Console.WriteLine("onUserAudioStatusChange lstAudioStatusChange");
            if (lstAudioStatusChange != null) 
            {
                foreach (IUserAudioStatusDotNetWrap el in lstAudioStatusChange) 
                {
                    Console.WriteLine("GetUserId={0} GetStatus={1} GetAudioType={2}", el.GetUserId(), el.GetStatus(), el.GetAudioType());
                    if (el.GetUserId() == myUserID) 
                    {
                        audioState = el.GetStatus();
                        Console.WriteLine("myaudiostate {0}", audioState);
                    }
                }
            }
        }

```

The userID in logs that I’m getting from event handles is always 0 and I can’t detect which user did mute/unmute mic then.

The logs are showing this:

> onUserActiveAudioChange lstActiveAudio  
> activeAudio=16778240  
> onUserAudioStatusChange lstAudioStatusChange  
> GetUserId=0 GetStatus=Audio\_UnMuted GetAudioType=AUDIOTYPE\_VOIP

Can anyone help? In onUserActiveAudioChange is userID filled in correctly, but in OnUserAudioStatusChange handler not.  
Thank you  
Robert

---

<div class="post-metadata">

**Author:** ![robert.hostacny](https://avatars.discourse-cdn.com/v4/letter/r/bc8723/32.png) [@robert.hostacny](https://devforum.zoom.us/u/robert.hostacny)\
**Post date:** [June 11, 2020, 1:00pm UTC](https://devforum.zoom.us/t/c-wrapper-onuseraudiostatuschange-event-problem/20809/2 "2020-06-11T13:00:34Z")

</div>

I resolved it. There was an issue with wrapper. In meeting\_audio\_dotnet\_wrap.cpp

> virtual unsigned int GetUserId()  
> {  
> if (m\_pStatus)  
> m\_pStatus-\>GetUserId();  
> return 0;  
> }

changed to:

> virtual unsigned int GetUserId()  
> {  
> if (m\_pStatus)  
> return (unsigned int)m\_pStatus-\>GetUserId();  
> return 0;  
> }

now it works.  
GetUserId=16778240 GetStatus=Audio\_Muted GetAudioType=AUDIOTYPE\_VOIP  
onUserActiveAudioChange lstActiveAudio  
activeAudio=16778240

Just in case anyone else is having the same issue.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [June 16, 2020, 6:27pm UTC](https://devforum.zoom.us/t/c-wrapper-onuseraudiostatuschange-event-problem/20809/3 "2020-06-16T18:27:39Z")

</div>

Happy to hear you resolved the issue! 🙂

Thanks for sharing the solution!

-Tommy

---

<div class="post-metadata">

**Author:** ![DeveloperBot](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/developerbot/32/12632_2.png) [@DeveloperBot](https://devforum.zoom.us/u/DeveloperBot)\
**Post date:** [August 21, 2020, 10:04pm UTC](https://devforum.zoom.us/t/c-wrapper-onuseraudiostatuschange-event-problem/20809/4 "2020-08-21T22:04:32Z")

</div>

Closed on August 21, 2020, 10:04pm UTC


