amazon-chime-sdk / com.amazonaws.services.chime.sdk.meetings.audiovideo / DefaultAudioVideoFacade

DefaultAudioVideoFacade

class DefaultAudioVideoFacade : AudioVideoFacade

Constructors

<init>

DefaultAudioVideoFacade(context: Context, audioVideoController: AudioVideoControllerFacade, realtimeController: RealtimeControllerFacade, deviceController: DeviceController, videoTileController: VideoTileController, activeSpeakerDetector: ActiveSpeakerDetectorFacade, contentShareController: ContentShareController, eventAnalyticsController: EventAnalyticsController)

Functions

addActiveSpeakerObserver

Adds an active speaker observer along with a policy to calculate active speaker scores

fun addActiveSpeakerObserver(policy: ActiveSpeakerPolicy, observer: ActiveSpeakerObserver): Unit

addAudioVideoObserver

Subscribe to audio, video, and connection events with an AudioVideoObserver.

fun addAudioVideoObserver(observer: AudioVideoObserver): Unit

addContentShareObserver

Subscribe the given observer to content share events (sharing started and stopped).

fun addContentShareObserver(observer: ContentShareObserver): Unit

addDeviceChangeObserver

Adds an observer to receive callbacks about device changes.

fun addDeviceChangeObserver(observer: DeviceChangeObserver): Unit

addEventAnalyticsObserver

Subscribe to meeting event related data with an observer.

fun addEventAnalyticsObserver(observer: EventAnalyticsObserver): Unit

addMetricsObserver

Subscribe to metrics events with an MetricsObserver.

fun addMetricsObserver(observer: MetricsObserver): Unit

addRealtimeDataMessageObserver

Subscribes to receive message on a topic, there could be multiple observers per topic

fun addRealtimeDataMessageObserver(topic: String, observer: DataMessageObserver): Unit

addRealtimeObserver

Subscribes to real time events with an observer

fun addRealtimeObserver(observer: RealtimeObserver): Unit

addRealtimeTranscriptEventObserver

Subscribes to transcript event with an observer

fun addRealtimeTranscriptEventObserver(observer: TranscriptEventObserver): Unit

addVideoTileObserver

Subscribe to Video Tile events with an VideoTileObserver.

fun addVideoTileObserver(observer: VideoTileObserver): Unit

bindVideoView

Binds the video rendering view to Video Tile. The view will start displaying the video frame after the completion of this API.

fun bindVideoView(videoView: VideoRenderView, tileId: Int): Unit

chooseAudioDevice

Selects an audio device to use.

fun chooseAudioDevice(mediaDevice: MediaDevice): Unit

demoteFromPrimaryMeeting

Remove the promoted attendee from the Primary meeting. This client will stop sharing audio, video, and data messages. This will revert the end-user to precisely the state they were before a call to promoteToPrimaryMeeting

fun demoteFromPrimaryMeeting(): Unit

getActiveAudioDevice

Get the active input/output audio device in the meeting, return null if there isn't any.

fun getActiveAudioDevice(): MediaDevice?

getActiveCamera

Get the currently active camera, if any. This will return null if using a custom source, e.g. one passed in via AudioVideoControllerFacade.startLocalVideo

fun getActiveCamera(): MediaDevice?

getCommonEventAttributes

Retrieve common attributes, including deviceName, osName, and more.

fun getCommonEventAttributes(): EventAttributes

getMeetingHistory

Retrieve meeting history.

fun getMeetingHistory(): List<MeetingHistoryEvent>

listAudioDevices

Lists currently available audio devices.

fun listAudioDevices(): List<MediaDevice>

pauseRemoteVideoTile

Pauses the specified remote video tile. Ignores the tileId if it belongs to the local video tile.

fun pauseRemoteVideoTile(tileId: Int): Unit

promoteToPrimaryMeeting

Allows an attendee in a Replica meeting to immediately transition to a Primary meeting attendee without need for reconnection.

fun promoteToPrimaryMeeting(credentials: MeetingSessionCredentials, observer: PrimaryMeetingPromotionObserver): Unit

realtimeIsVoiceFocusEnabled

Checks if Amazon Voice Focus is enabled.

fun realtimeIsVoiceFocusEnabled(): Boolean

realtimeLocalMute

Mute the audio input.

fun realtimeLocalMute(): Boolean

realtimeLocalUnmute

Unmutes the audio input.

fun realtimeLocalUnmute(): Boolean

realtimeSendDataMessage

Send message via data channel. Messages are only expected to be sent after audio video has started, otherwise will be ignored. Even though one can send data messages to any valid topic, in order to receive the messages from the given topic, one need to subscribed to the topic by calling addRealtimeDataMessageObserver. LifetimeMs specifies milliseconds for the given message can be stored in server side. Up to 1024 messages may be stored for a maximum of 5 minutes.

fun realtimeSendDataMessage(topic: String, data: Any, lifetimeMs: Int): Unit

realtimeSetVoiceFocusEnabled

Enable or disable Amazon Voice Focus (ML-based noise suppression) on the audio input.

fun realtimeSetVoiceFocusEnabled(enabled: Boolean): Boolean

removeActiveSpeakerObserver

Removes an active speaker observer.

fun removeActiveSpeakerObserver(observer: ActiveSpeakerObserver): Unit

removeAudioVideoObserver

Unsubscribes from audio, video, and connection events by removing specified AudioVideoObserver.

fun removeAudioVideoObserver(observer: AudioVideoObserver): Unit

removeContentShareObserver

Unsubscribe the given observer from content share events.

fun removeContentShareObserver(observer: ContentShareObserver): Unit

removeDeviceChangeObserver

Removes an observer to stop receiving callbacks about device changes.

fun removeDeviceChangeObserver(observer: DeviceChangeObserver): Unit

removeEventAnalyticsObserver

Unsubscribe from meeting event by removing the specified observer.

fun removeEventAnalyticsObserver(observer: EventAnalyticsObserver): Unit

removeMetricsObserver

Unsubscribes from metrics by removing specified MetricsObserver.

fun removeMetricsObserver(observer: MetricsObserver): Unit

removeRealtimeDataMessageObserverFromTopic

Unsubscribes from a message topic

fun removeRealtimeDataMessageObserverFromTopic(topic: String): Unit

removeRealtimeObserver

Unsubscribes from real time events by removing the specified observer

fun removeRealtimeObserver(observer: RealtimeObserver): Unit

removeRealtimeTranscriptEventObserver

Unsubscribes from transcript event by removing the specified observer

fun removeRealtimeTranscriptEventObserver(observer: TranscriptEventObserver): Unit

removeVideoTileObserver

Unsubscribes from Video Tile events by removing specified VideoTileObserver.

fun removeVideoTileObserver(observer: VideoTileObserver): Unit

resumeRemoteVideoTile

Resumes the specified remote video tile. Ignores the tileId if it belongs to the local video tile.

fun resumeRemoteVideoTile(tileId: Int): Unit

start

Starts audio and video.

fun start(): Unit

Starts audio and video with the given configuration.

fun start(audioVideoConfiguration: AudioVideoConfiguration): Unit

startContentShare

Start sharing the content of a given ContentShareSource.

fun startContentShare(source: ContentShareSource): Unit

Start sharing the content of a given ContentShareSource with configuration.

fun startContentShare(source: ContentShareSource, config: LocalVideoConfiguration): Unit

startLocalVideo

Start local video and begin transmitting frames from an internally held DefaultCameraCaptureSource. stopLocalVideo will stop the internal capture source if being used.

fun startLocalVideo(): Unit

Start local video with configuration and begin transmitting frames from an internally held DefaultCameraCaptureSource. stopLocalVideo will stop the internal capture source if being used.

fun startLocalVideo(config: LocalVideoConfiguration): Unit

Start local video with a provided custom VideoSource which can be used to provide custom VideoFrame objects to be transmitted to remote clients

fun startLocalVideo(source: VideoSource): Unit

Start local video with with configuration and a provided custom VideoSource which can be used to provide custom VideoFrame objects to be transmitted to remote clients

fun startLocalVideo(source: VideoSource, config: LocalVideoConfiguration): Unit

startRemoteVideo

Start remote video.

fun startRemoteVideo(): Unit

stop

Stops audio and video. It's important to call this when your meeting connection is no longer needed in order to clean up and explicitly release resources.

fun stop(): Unit

stopContentShare

Stop sharing the content of a ContentShareSource that previously started.

fun stopContentShare(): Unit

stopLocalVideo

Stops sending video for local attendee. This will additionally stop the internal capture source if being used. If using a custom video source, this will call VideoSource.removeVideoSink on the previously provided source.

fun stopLocalVideo(): Unit

stopRemoteVideo

Stop remote video.

fun stopRemoteVideo(): Unit

switchCamera

Switches the currently active camera. This will no-op if using a custom source, e.g. one passed in via AudioVideoControllerFacade.startLocalVideo

fun switchCamera(): Unit

unbindVideoView

Unbinds the video rendering view from Video Tile. The view will stop displaying the video frame after the completion of this API.

fun unbindVideoView(tileId: Int): Unit

updateVideoSourceSubscriptions

Add, update, or remove subscriptions to remote video sources provided via remoteVideoSourcesDidBecomeAvailable.

fun updateVideoSourceSubscriptions(addedOrUpdated: Map<RemoteVideoSource, VideoSubscriptionConfiguration>, removed: Array<RemoteVideoSource>): Unit