Package com.amazonaws.ivs.broadcast
Interface StageRenderer
@RequiresApi(api=28)
public interface StageRenderer
An interface to implement that can be used to build user interfaces.
Implementing a
StageRenderer
provides all the necessary information about a Stage to create a complete UI.-
Method Summary
Modifier and TypeMethodDescriptiondefault void
onConnectionStateChanged
(Stage stage, Stage.ConnectionState state, BroadcastException exception) The connection state of the associatedStage
has changed.default void
onError
(BroadcastException exception) Triggers whenever an error occursdefault void
onParticipantJoined
(Stage stage, ParticipantInfo participantInfo) A new participant has joined the Stage and started publishing.default void
onParticipantLeft
(Stage stage, ParticipantInfo participantInfo) A new participant has left the Stage or stopped publishing.default void
onParticipantPublishStateChanged
(Stage stage, ParticipantInfo participantInfo, Stage.PublishState publishState) The publish state of a participant has changed.default void
onParticipantSubscribeStateChanged
(Stage stage, ParticipantInfo publishingParticipantInfo, Stage.SubscribeState subscribeState) The subscribe state of the local participant has changed with respect to a remote publisher.default void
onStreamsAdded
(Stage stage, ParticipantInfo participantInfo, List<StageStream> streams) Triggers whenever a remote audio/video stream is added.default void
onStreamsMutedChanged
(Stage stage, ParticipantInfo participantInfo, List<StageStream> streams) Triggers whenever a stream is muted, the stream could either beLocalStageStream
orStageStream
default void
onStreamsRemoved
(Stage stage, ParticipantInfo participantInfo, List<StageStream> streams) Triggers whenever a remote audio/video stream is removed.
-
Method Details
-
onError
Triggers whenever an error occurs- Parameters:
exception
- The error that occured
-
onConnectionStateChanged
default void onConnectionStateChanged(@NonNull Stage stage, @NonNull Stage.ConnectionState state, @Nullable BroadcastException exception) The connection state of the associatedStage
has changed.- Parameters:
stage
- TheStage
that had the connection state change.state
- The new connection state of the Stage.exception
- An error, if the state change was caused by an error.
-
onParticipantJoined
A new participant has joined the Stage and started publishing.- Parameters:
stage
- TheStage
that the participant joined and started publishing.participantInfo
- A description of the participant that joined and started publishing.
-
onParticipantLeft
A new participant has left the Stage or stopped publishing.- Parameters:
stage
- TheStage
that the participant left or stopped publishing.participantInfo
- A description of the participant that left or stopped publishing.
-
onParticipantPublishStateChanged
default void onParticipantPublishStateChanged(@NonNull Stage stage, @NonNull ParticipantInfo participantInfo, @NonNull Stage.PublishState publishState) The publish state of a participant has changed.- Parameters:
stage
- TheStage
associated with the participant that changed their publish state.participantInfo
- The participant that changed their publish state.publishState
- The new publish state.
-
onParticipantSubscribeStateChanged
default void onParticipantSubscribeStateChanged(@NonNull Stage stage, @NonNull ParticipantInfo publishingParticipantInfo, @NonNull Stage.SubscribeState subscribeState) The subscribe state of the local participant has changed with respect to a remote publisher. This callback only fires when the local participant's subscribe state changes. Participants are not made aware of subscription updates for other participants via this callback.- Parameters:
stage
- TheStage
associated with the participant that changed their subscribe state.publishingParticipantInfo
- The publishing participant for whom the local participant has changed their subscribe state.subscribeState
- The new subscribe state.
-
onStreamsAdded
default void onStreamsAdded(@NonNull Stage stage, @NonNull ParticipantInfo participantInfo, @NonNull List<StageStream> streams) Triggers whenever a remote audio/video stream is added. This is the result of subscription state change- Parameters:
stage
- TheStage
associated with the added streamsparticipantInfo
- TheParticipantInfo
associated with the added streams.streams
- A list of added streams
-
onStreamsRemoved
default void onStreamsRemoved(@NonNull Stage stage, @NonNull ParticipantInfo participantInfo, @NonNull List<StageStream> streams) Triggers whenever a remote audio/video stream is removed. This could be caused by either remote participant is no longer publishing or network issue- Parameters:
stage
- TheStage
associated with the removed streamsparticipantInfo
- TheParticipantInfo
associated with the removed streams.streams
- A list of removed streams
-
onStreamsMutedChanged
default void onStreamsMutedChanged(@NonNull Stage stage, @NonNull ParticipantInfo participantInfo, @NonNull List<StageStream> streams) Triggers whenever a stream is muted, the stream could either beLocalStageStream
orStageStream
- Parameters:
stage
- TheStage
associated with the updated streamsparticipantInfo
- TheParticipantInfo
associated with the updated streams.streams
- A list of streams that have had their mute state changed
-