Issues with Microphone Access for Jitsi Integration on Vega OS

Hello everyone,

I am currently working on migrating an app originally developed for Fire OS over to Vega OS.

In the Fire OS version, I implemented a meeting feature using Jitsi. I am now trying to port this functionality to Vega OS, but I have run into a few significant hurdles.

While I can successfully receive incoming calls, I am struggling to implement the full calling functionality using the microphone. I have tried two of the SDKs provided by Jitsi—the React Native SDK and the IFrame API—but neither has worked so far.

  • React Native SDK: Integration was extremely difficult from the start. I eventually hit a WebRTC-related error, and I haven’t been able to get it running.

  • IFrame API: The microphone permission dialog never appears; instead, access is immediately denied. I have tested this in both a WebView and an external browser (Silk), but I encounter the same issue in both environments where microphone permissions cannot be granted.

Does anyone know how to enable microphone access within a WebView or an external browser on Vega OS? Any insights or workarounds would be greatly appreciated.

Hi @gen,

Welcome to Amazon Developer Community!

Thank you for the detailed description of your Jitsi integration and the approaches you’ve tried.

For microphone access on Vega OS, you can use the native AudioRecordStream API
( AudioRecordStreamBuilder | Vega API ) from @amazon-devices/keplerscript-audio-lib. This requires adding the com.amazon.audio.privilege.microphone.access privilege to your manifest.toml.

Note that this is a native audio capture API (raw PCM), not a WebRTC replacement, so it won’t plug directly into Jitsi’s SDKs. Depending on your requirements, you may need to explore alternative approaches for the real-time communication piece.

Our team is looking into this and will follow up with more information.

Thanks for helping us improve the Vega platform.

Warm regards,
Aishwarya

Hi @amen,

Thank you for the reply.

I understand that WebRTC cannot be used directly. Regarding microphone permissions, while I am able to grant permission from the app itself, my understanding is that a separate permission is required when accessing it via a browser (or WebView).

The issue is that I am not receiving that permission request through the browser.

Does this ultimately mean that since Jitsi relies on WebRTC, it simply cannot be used as-is in this environment?

Many thanks,
gen