Access to getUserMedia with Zoom App

My web app includes call to “navigator.mediaDevices.getUserMedia” to get audio from the user. Directly on browser it asks the user for permission to record, and we are good. I am now including this web app within Zoom App, but am getting it as “undefined”. Is there some permission I need to add the app configuration to allow this? Is there another API I can use that gives me access to user mic? I am ok if this is the same audio stream that Zoom uses for the user (so no audio when user mutes on Zoom), or it could be a direct stream from user’s mic. Is this something that can be done within Zoom App context?

In our standard client, we proactively block this call.

With this said, we do have a private beta client we’re planning to distribute for folks.

Thanks @coreyhobbs. I would like to signup for the private beta client.

Hi Corey, I could make use of this too for our app (uses audio and video). Can we get access?

@neal @amunje ,

Thank you for expressing interest in the beta program. At this time, the beta program is closed and there is no timeline set for when enrollment will be available. However, once it starts, someone will reach out to members in the private beta program with instructions on how to get access.

Hey @donte.zoom and @coreyhobbs, is there any updates in the access to the getUserMediaAudio API?

I’m helping a company to evaluate options to transmit their events online, and they are very interested migrating their desktop app into a zoom client app.

However, in order to protect the intellectual property of the content they transmit, their app has a proctoring function. The main feature is to monitor the MediaDeviceInfo through the MediaDevices: devicechange event which give access to the MediaDeviceInfo.deviceId and MediaDeviceInfo.groupId.

I have been exploring the Zoom App SDK and I found getUserMediaAudio API declared in the api list, but this function is not available in the ZoomSdk object. I believe this function will return the data they need to implement the proctoring feature, am I right? If yes, is it possible to give us an early access to this feature? Is there any timeline to launch this feature publicly?

@gabriel.amaral We don’t currently have an open beta for this but this is something we are working to add in the near future.

Hi @MaxM,

I am facing the same challenge above.

Our main app runs in a browser, where we obtain microphone permissions from the user to transcribe the audio input and provide them with our service.

We are looking to do the same within the zoom app. Do we have an update whether we can access mediaDevices in the zoom app at this time?

Any help appreciated!

Thanks,
Rajiv

Currently, we do not provide access to media devices but you can create a meeting bot to gain access to raw data which can be interpreted. Please see this document for more information:

https://developers.zoom.us/docs/zoom-apps/guides/meeting-bots-sdk-media-streams/

1 Like

Thank you for your response!

@rajiv, here is guide on building a Zoom meeting bot.

Happy to share the steps on how to build a meeting bot:

  1. Spin up a server. We recommend AWS, GCP, or Digital Ocean.
  2. Use either the Windows or Mac Zoom SDK to launch an instance of the Zoom client.
  3. Once you have the Zoom SDK launched, and use the Raw Data functionality to extract the video and audio streams.
  4. This will return the video in I420 raw frames and audio in PCM 16LE raw format, so you’ll need to encode the audio and video yourself afterwards.
  5. Once you have one instance of this working, you’ll need to scale this across several servers if you want to run multiple bots simultaneously, which is required to have bots for multiple meetings.

Finally, another option is Recall.ai. It’s a simple 3rd party API that lets you use meeting bots to get raw audio/video from meetings without you needing to spend months to build, scale and maintain these bots.

Let me know if you have any questions!