I have setup an event handler for the trackPublished event so that I can update the video element with the remote users video stream when its published after the local user is already connected.
participant.on('trackPublished', publication => {
trackSubscribed(remoteMediaDiv, publication.track);
});
The issue is the track is always null. Its also not subscribed, I think that might be related but don't have a great grasp of the publish/subscribe states.
The local user loads the remote streams with the trackSubscribed without any issue when the remote user connects to the room before the local user.
Any ideas?
Related
When the sendchanges property of the offlinedatebase(app offline model) is set to “when connected”, if the network changes from offline to online, the local unsynchronized data will be automatically synchronized to the remote server,
But now we need to call a procedure when this automatic synchronization occurs. How can we get this event
So I am trying to understand the workflow in kicking a user from a channel. I have a command I can issue to the channel #kick username. This is handle by a handle in which parse the message and will detect is a command. That will call the kick function in my channel. My issue is how I actually make the user leave. There is no such thing as Endpoint.Broadcast with a leave event like we have for disconnecting a socket from everything.
I've been told to use a Endpoint.Broadcast an event like kick and use a handle_out to intercept it. Well even if I use it, how is this disconnecting the user I want specifically to be kick as an admin.
I want to mute my self in a twilio video app. But the problem is that when I use the method mentioned in the documentation
room.localParticipant.videoTracks.forEach((publication) => {
publication.track.disable();
});
This hides the video on my screen, but the remote participants can still see my video. Same happens for audio too. When I tried to debug, the tracks received on the remote participant side still have enabled true. How should I properly mute/turn off my video so that it is reflected on remote participant
So when you test streaming to an event (via the RTMP endpoint) you switch the events lifeCycleStatus to testing. When I stop streaming to the RTMP endpoint the lifeCycleStatus still remains testing.
Essentially I need the event to go from this testing state to one where I can create and bind a new live stream to the event.
An attempt to transition the broadcast status of the event to Live is met with the error that the stream status is currently inactive which makes sense.
Is it possible to transition an event in the testing state to one where I can bind a new stream to it?
So I managed to solve this issue. Just to let you know there is no way to move a LiveBroadcast from the lifeCycleStatus from TESTING to anything other than LIVE or COMPLETED.
You can however rebind a new LiveStream to a LiveBroadcast in the state of TESTING. The broadcast will have a new boundStream and the lifeCycleStatus will be CREATED 👍
We are experimenting with the Twilio video call SDK for iOS and we are able to establish a call between two users but now we would like to send events from one user to another. For example, one user would tap a button on his device and the event would be sent to the other device to display a sound or animation. Basically we are looking for a way to establish a data channel between both callers that we can use to send events, much like a websocket.
Thanks for your input! Regards,
Enrique
Twilio recently announced a State Syncronisation API which you can use to solve your problem , have a look : https://www.twilio.com/sync
For your case, you could setup up a "Map" item ( a map of event to device identity ) on Twilio sync which could be used by a device to push their events to Cloud to which any subscribed devices can get the info pushed to .