Setting up the AudioRawdataHelper

Description
I am trying to receive and process the raw audio for meetings and webinars. I have succesfully joined the meeting and then give the SDK user permission to record. When the permission update event is seen I try to get a AudioRawdataHelper set-up, however it always returns NULL. I’m having some trouble finding out through the documentation what the requirements are for getting this helper set-up. The demo code doesn’t seem to use it so I don’t really have anything to go through to see which steps are required.

I am logged in as a user without a login, only a valid JWT. To enable raw recording must I log in and authenticate using a ZAK token? Is there a particular event I have to wait for to ensure I can enable the raw recording?

The process and steps are unfortunately not very clear to me from the documentation. Any help would be appreciated.

Which Windows Meeting SDK version?
5.9.7.3953

Additional context
The goal is to receive the raw audio and feed it to our own custom processing code. I don’t need to run a UI so I’ve enabled the customUI and don’t render anything.

Hi @tim.vandeurzen, thanks for using the dev forum.

In order to access raw data, you must first start a raw recording via StartRawRecording. Once the raw recording has started, the helper should no longer be null.

I am logged in as a user without a login, only a valid JWT. To enable raw recording must I log in and authenticate using a ZAK token? Is there a particular event I have to wait for to ensure I can enable the raw recording?

Authentication is not required. The only requirement is that the current user has the ability to start a recording.

Thanks!

Hi @jon.lieblich,

Thank you for clarifying that, I’m now getting the right callbacks for raw data :slight_smile: . Unforturnately, the data seems to be empty and I’m not sure why that is. I am consistently receiving an empty buffer even if I am speaking or sharing audio from another machine. The audio data says it’s a single channel at a rate of 32000, always 640 bytes worth of data.

Any idea what might be going wrong here?

Thanks again!

Hi @tim.vandeurzen,

That seems strange. If you join the same meeting on another device, are you able to hear audio being transmitted? If so, that confirms that audio is being sent, so we’ll probably need the encrypted SDK logs to investigate further.

Thanks!

Hi @jon.lieblich ,

I did indeed log into the meeting to check audio being received and I did receive the audio properly. I’ll go over my code another time to check if I’m maybe not writing the data correctly, but as far as I can tell at the moment the data I receive is simply 0’s.

Where do I find the encrypted logs to send you? And how would I send them (I’m guessing not through the forums)?

Thanks!

Hi @tim.vandeurzen,

Got it, thanks for confirming. It definitely is possible that the data is not being written correctly if it’s all showing up as the default value of 0. If you’re able to confirm that it would help rule out that possibility, but if not the logs should provide enough information for us to do so.

The logs are encrypted and can only be decrypted by Zoom, so they should be safe to share publicly. That being said, the dev forum limits the types of files that can be shared, so you would need to either upload the logs to a file sharing service or attach them on a ticket through our developer support site. If you choose the latter option, please let me know the ticket number so I can locate it.

Thanks!

Hi @jon.lieblich ,

Unfortunately it looks like I really am just receiving full buffers with only 0s. Which file(s) should I upload for you to inspect? I see a file called zoomeeting.enc under AppData, is that the one?

I may very well still be doing something wrong in the configuration or set-up but without errors or warnings I’m a bit in the dark here. Any help is greatly appreciated.

Thanks!

Hi @tim.vandeurzen,

The SDK logs will be under %appdata%/zoomsdk/logs/. You’ll see a last_log_file_id.txt file which will tell you which file was most recently written to. Using this, you can identify the correct log file to be sent over.

I may very well still be doing something wrong in the configuration or set-up but without errors or warnings I’m a bit in the dark here. Any help is greatly appreciated.

That seems unlikely since you are receiving the actual data callbacks. Either way, the logs should help clarify what the actual issue is. :slightly_smiling_face:

Thanks!