Publishing Streams

Publish a Stream to a Channel

Before allowing the end user to publish video you should make sure you have received a VIDEO_STATE_AVAILABLE state from the onVideoAvailabilityChange event.

To publish the stream you call the publishStream() method. By default this will publish both the video and audio track within the current local media stream.

aloVideo.publishStream();

If you wish to specify which tracks to publish you can provide the sendAudio and sendVideo options.

The following is an example when you publish the stream with video and without the audio:

aloVideo.publishStream({sendVideo: true, sendAudio: false});

You can also change which tracks are published after calling the publishStream method as well. See Modifying Published Streams.

See Rendering Streams for information about rendering streams.

Unpublish a Stream

You may unpublish video in the channel and remain connected to a video channel (so you still see and hear others) using the unpublishStream() methhod.

aloVideo.unpublishStream();

Event

Description

onVideoAvailabilityChange

This event will let you know when the publishing video is available (meaning you are connected to a video channel). The possible states are AloVideo.VIDEO_STATE_AVAILABLE and AloVideo.VIDEO_STATE_UNAVAILABLE.

onParticipantsChanged

When a participant (including the current user) published/unpublished video this event will be dispatched. See Participants for more information.

onPublishedStreamChange

When a remotely published stream changes in anyway (for example, the participant removed the audio track ) this event will be fired.

Example Event Payloads

// onVideoAvailabilityChange
detail : {
    state : 'VIDEO_STATE_UNAVAILABLE'
}

detail : {
    state : 'VIDEO_STATE_AVAILABLE'
}

//onParticipantsChanged
detail : {
    channel: VideoChannel{...},
    currentParticipantId: "dhsdjfhgs-dfsdfdd",
    participants: [Participant, Participant]
}


// onPublishedVideoChange
detail : {
    channel: VideoChannel{...},
    isPublished: true,
    participant: Participant{...}
}

Last updated

Logo

© Copyright 2024 ALO.ai, Inc. • All Rights Reserved