Typed Event Emitter class which can act as a Base Model for all our model and communication events. This makes it much easier for us to distinguish between events, as we now need to properly type this, so that our events are not stringly-based and prone to silly typos.

Type parameters:

  • Events - List of all events emitted by this TypedEventEmitter. Normally an enum type.
  • Arguments - A ListenerMap type providing mappings from event names to listener types.
  • SuperclassArguments - TODO: not really sure. Alternative listener mappings, I think? But only honoured for .emit?

Hierarchy

Constructors

Properties

_connected: boolean = false
_disposed: boolean = false
analyser?: AnalyserNode
audioContext?: AudioContext
audioMuted: boolean
call?: MatrixCall
client: MatrixClient
deviceId: undefined | string
frequencyBinCount?: Float32Array
localVolume: number = 1
measuringVolumeActivity: boolean = false
roomId?: string
sdpMetadataStreamId: string
speaking: boolean = false
speakingThreshold: number = SPEAKING_THRESHOLD
speakingVolumeSamples: number[]
stream: MediaStream
userId: string
videoMuted: boolean
volumeLooperTimeout?: number

Accessors

Methods

  • Returns true if audio is muted or if there are no audio tracks, otherwise returns false

    Returns boolean

    is audio muted?

  • Returns true if CallFeed is local, otherwise returns false

    Returns boolean

    is local?

  • Returns true video is muted or if there are no video tracks, otherwise returns false

    Returns boolean

    is video muted?

  • Starts emitting volume_changed events where the emitter value is in decibels

    Parameters

    • enabled: boolean

      emit volume changes

    Returns void

  • Adds the listener function to the end of the listeners array for the event named event.

    No checks are made to see if the listener has already been added. Multiple calls passing the same combination of event and listener will result in the listener being added, and called, multiple times.

    By default, event listeners are invoked in the order they are added. The prependListener method can be used as an alternative to add the event listener to the beginning of the listeners array.

    Type Parameters

    Parameters

    Returns CallFeed

    a reference to the EventEmitter, so that calls can be chained.

  • Removes all listeners, or those of the specified event.

    It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

    Parameters

    Returns CallFeed

    a reference to the EventEmitter, so that calls can be chained.

  • Set one or both of feed's internal audio and video video mute state Either value may be null to leave it as-is

    Parameters

    • audioMuted: null | boolean

      is the feed's audio muted?

    • videoMuted: null | boolean

      is the feed's video muted?

    Returns void

  • Replaces the current MediaStream with a new one. The stream will be different and new stream as remote parties are concerned, but this can be used for convenience locally to set up volume listeners automatically on the new stream etc.

    Parameters

    • newStream: MediaStream

      new stream with which to replace the current one

    Returns void

Generated using TypeDoc