I am implementing mute/unmute audio and enable/disable video features in android, though they are working fine in react and angular JS but for some reason, not on android.
so here is what I did. first, I muted/unmuted audio in the local audio track and then emitted the following socket event to notify other participants about the action
Though audio did get muted/unmuted but for some reason, other participants who joined the session from React, Angular, and android samples didn’t receive it. The same is happening on video enable/disable.
If you are refering to the openvidu-android tutorial, then you are right: streamPropertyChanged event won’t work.
openvidu-android tutorial implements just the minimum subset of RPC methods available for clients in the openvidu-browser JS client. This is the full list of RPC methods of OpenVidu Server RPC protocol: OpenVidu Server RPC protocol - OpenVidu Docs.
Ok, Let me explain it again -
Let’s assume -
User A joined the conference from react sample and user B joined it from the android sample. When user A mutes/unmutes himself user B receives “streamPropertyChanged” event. but if user B who is on android mutes/unmutes himself, I am sending this “streamPropertyChanged” event using the above-mentioned code but user A is not receiving the callback
have you found a solution for this problem? I am facing the exactly the same error.
As pabloFuente said - reacting on incoming streamPropertyChanged event on android side is missing in openvidu-android sample. But in my view the event should fire on browser-clients if we change something on our android stream - because it is just an incoming websocket event?
Or do I completely misunderstand the RPC protocol?
There is no technical limitation to add this event, if it is being sent and received correctly (like the rest of the events that are actually implemented in the app).
My misunderstanding was, that I thought that the “streamPropertyChanged” Event is an event, that is only fired by OpenVidu server if the server detects a changed stream property. If I know, that I have to fire this event to the websocket on my own, I did it and it works!
Your sample looks quite good (maybe a missing connectionId parameter?). I am doing nearly the same and the streamPropertyChanged event from Android is fired in my browser application. Did you check the OpenVidu server logs? In my case, I used a wrong streamId and I detected an error in this logs.