DefaultAudioVideoFacade

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

Constructors

Link copied to clipboard
constructor(context: Context, audioVideoController: AudioVideoControllerFacade, realtimeController: RealtimeControllerFacade, deviceController: DeviceController, videoTileController: VideoTileController, activeSpeakerDetector: ActiveSpeakerDetectorFacade, contentShareController: ContentShareController, eventAnalyticsController: EventAnalyticsController)

Functions

Link copied to clipboard

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

Link copied to clipboard
open override fun addAudioVideoObserver(observer: AudioVideoObserver)

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

Link copied to clipboard
open override fun addContentShareObserver(observer: ContentShareObserver)

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

Link copied to clipboard
open override fun addDeviceChangeObserver(observer: DeviceChangeObserver)

Adds an observer to receive callbacks about device changes.

Link copied to clipboard

Subscribe to meeting event related data with an observer.

Link copied to clipboard
open override fun addMetricsObserver(observer: MetricsObserver)

Subscribe to metrics events with an MetricsObserver.

Link copied to clipboard
open override fun addRealtimeDataMessageObserver(topic: String, observer: DataMessageObserver)

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

Link copied to clipboard
open override fun addRealtimeObserver(observer: RealtimeObserver)

Subscribes to real time events with an observer

Link copied to clipboard

Subscribes to transcript event with an observer

Link copied to clipboard
open override fun addVideoTileObserver(observer: VideoTileObserver)

Subscribe to Video Tile events with an VideoTileObserver.

Link copied to clipboard
open override fun bindVideoView(videoView: VideoRenderView, tileId: Int)

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

Link copied to clipboard
open override fun chooseAudioDevice(mediaDevice: MediaDevice)

Selects an audio device to use.

Link copied to clipboard
open override fun 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

Link copied to clipboard
open override fun getActiveAudioDevice(): MediaDevice?

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

Link copied to clipboard
open override fun getActiveCamera(): MediaDevice?

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

Link copied to clipboard

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

Link copied to clipboard

Retrieve meeting history.

Link copied to clipboard
open override fun listAudioDevices(): List<MediaDevice>

Lists currently available audio devices.

Link copied to clipboard
open override fun pauseRemoteVideoTile(tileId: Int)

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

Link copied to clipboard

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

Link copied to clipboard

Checks if Amazon Voice Focus is enabled.

Link copied to clipboard
open override fun realtimeLocalMute(): Boolean

Mute the audio input.

Link copied to clipboard
open override fun realtimeLocalUnmute(): Boolean

Unmutes the audio input.

Link copied to clipboard
open override fun realtimeSendDataMessage(topic: String, data: Any, lifetimeMs: Int)

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.

Link copied to clipboard
open override fun realtimeSetVoiceFocusEnabled(enabled: Boolean): Boolean

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

Link copied to clipboard

Removes an active speaker observer.

Link copied to clipboard
open override fun removeAudioVideoObserver(observer: AudioVideoObserver)

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

Link copied to clipboard

Unsubscribe the given observer from content share events.

Link copied to clipboard

Removes an observer to stop receiving callbacks about device changes.

Link copied to clipboard

Unsubscribe from meeting event by removing the specified observer.

Link copied to clipboard
open override fun removeMetricsObserver(observer: MetricsObserver)

Unsubscribes from metrics by removing specified MetricsObserver.

Unsubscribes from a message topic

Link copied to clipboard
open override fun removeRealtimeObserver(observer: RealtimeObserver)

Unsubscribes from real time events by removing the specified observer

Link copied to clipboard

Unsubscribes from transcript event by removing the specified observer

Link copied to clipboard
open override fun removeVideoTileObserver(observer: VideoTileObserver)

Unsubscribes from Video Tile events by removing specified VideoTileObserver.

Link copied to clipboard
open override fun resumeRemoteVideoTile(tileId: Int)

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

Link copied to clipboard
open override fun start()

Starts audio and video.

open override fun start(audioVideoConfiguration: AudioVideoConfiguration)

Starts audio and video with the given configuration.

Link copied to clipboard
open override fun startContentShare(source: ContentShareSource)

Start sharing the content of a given ContentShareSource.

Start sharing the content of a given ContentShareSource with configuration.

Link copied to clipboard
open override fun startLocalVideo()

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

open override fun startLocalVideo(config: LocalVideoConfiguration)

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

open override fun startLocalVideo(source: VideoSource)

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

open override fun startLocalVideo(source: VideoSource, config: LocalVideoConfiguration)

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

Link copied to clipboard
open override fun startRemoteVideo()

Start remote video.

Link copied to clipboard
open override fun 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.

Link copied to clipboard
open override fun stopContentShare()

Stop sharing the content of a ContentShareSource that previously started.

Link copied to clipboard
open override fun 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.

Link copied to clipboard
open override fun stopRemoteVideo()

Stop remote video.

Link copied to clipboard
open override fun switchCamera()

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

Link copied to clipboard
open override fun unbindVideoView(tileId: Int)

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

Link copied to clipboard

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