Control remote track volume


I’m currently developing with the lib-jitsi-meet API and have a use case where I need to control the track volume from remote participants indivually. Is this possible with the API?

1 Like

I was exactly looking for the same use case as I want lower and raise the volume of participants selectively.

What is your use case?
Me and a friend are looking to build a virtual space and want to simulate the different volume of a “room”

Haha that’s funny, cause that’s exactly the same use case I want to solve!

Have you been able to come closer to a solution?

No but it’s me and a friend trying to put the pieces together and see what we can come up with.

If possible, What UI do plan to connect this with?

The plan is to connect it with some kind of a map. What about you?

We want to connect it with a spatial environment which could be either 2d or 3D. We are looking also into videogame frameworks like Unity which have spatial audio already built in.

Map you mean a geo map?

Btw nobody has still answered… there has to be a way of controlling the volume of the different audio streams…

Sounds like a cool project!

No, more like a 2D map of a room.

Yeah, I really hope its possible!

@rurogge I don’t know if your still looking for a solution, but I found one after looking into jitsi meets react source code. You can easily change the volum that’s beeing rendered by setting the volume attribute of the HTML dom element. Hope that helps and good luck with your project :slight_smile:

1 Like

If any of you end up with a working solution, please keep us posted. I have been working in distance learning and remote working solutions for years, and what you are working on is key, in my opinion, to recreating online informal conversation in, before and after larger meetings.

Be it for distance learning, remote business meetings, or even online social gatherings amongst friends or family (numerous during the present coronavirus situation), it would be a huge improvement to be able to gather all together in a larger group conference but still, as the conversation progresses, move closer to one or a few individuals in the group (at the break, or because you want to discuss informally with a person or subgroup without “taking the stage” with the whole group).

Contrary to moving the conversation to a private webconferencing channel, being able to overhear, not too loudly, other subgroup’s conversations allow for making links between people and projects and ideas that would not have been thought of otherwise…

Plus it is not as intimidating, in certain contexts, to get closer to someone (say the professor or the boss’s boss) to discuss somthing when compared to outright call them to a private meeting.

Anyways, I think you guys are working on the key to webconferencing’s next level, at least that is my opinion as someone who is less a computer scientist and more into the psychology of people in a gathering , a class, or a meeting!

Keep it up and keep us posted if you would like!

1 Like


there’s a code block that reads:

     * Change the remote participant's volume level.
     * @param {int} newVal - The value to set the slider to.
    _setAudioVolume(newVal) {
        if (this._audioStreamElement) {
            this._audioStreamElement.volume = newVal;

i’m not sure where this is in the whole software, but it appears to have a volume slider?

oh i think the volume slider is for sharing youtube videos.

I’ve done this in my own project using the IFrame API:

It takes modifying the default Jitsi Meet installation’s index.html. I include instructions on how to do that on my README.

I originally did only volume scaling, but I’m now doing fully spatialized audio. My file etc/jitsihax.js has the logic. You can use it as-is, or you can delete the majority of the code and reuse only the part that captures the audio element, using the RPC events to modify the volume of it. If you look through the history of the file, you’ll find an old version that did only concern lime.

Or give me a day or two and I will add the volume-only path back in as an option. The fully spatialized audio has been a little difficult to get right and I think I want to have simple volume scaling as a fallback.