LocalAudioTrack
Defined in: client-sdk-js/src/track/LocalAudioTrack.ts:8
A typed wrapper over Node’s EventEmitter.
Extends EventEmitter with declare overrides so that emit, on,
off, etc. are type-safe without introducing circular-reference issues
that arise when using typed-emitter directly in extends clauses
whose event maps reference the class itself.
Runtime behaviour is 100% EventEmitter; this class adds zero runtime
code.
Extends
Section titled “Extends”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new LocalAudioTrack(mediaStreamTrack, constraints?): LocalAudioTrack;Defined in: client-sdk-js/src/track/LocalAudioTrack.ts:25
Parameters
Section titled “Parameters”mediaStreamTrack
Section titled “mediaStreamTrack”MediaStreamTrack
constraints?
Section titled “constraints?”MediaTrackConstraints
Returns
Section titled “Returns”LocalAudioTrack
Overrides
Section titled “Overrides”Properties
Section titled “Properties”_currentBitrate
Section titled “_currentBitrate”protected _currentBitrate: number = 0;Defined in: client-sdk-js/src/track/Track.ts:43
Inherited from
Section titled “Inherited from”_isMuted
Section titled “_isMuted”protected _isMuted: boolean = false;Defined in: client-sdk-js/src/track/Track.ts:37
Inherited from
Section titled “Inherited from”_mediaStreamTrack
Section titled “_mediaStreamTrack”protected _mediaStreamTrack: MediaStreamTrack;Defined in: client-sdk-js/src/track/Track.ts:31
Inherited from
Section titled “Inherited from”_prevBytes
Section titled “_prevBytes”protected _prevBytes: number = 0;Defined in: client-sdk-js/src/track/Track.ts:47
Previous byte count from the last monitor sample.
Inherited from
Section titled “Inherited from”_prevStatsTime
Section titled “_prevStatsTime”protected _prevStatsTime: number = 0;Defined in: client-sdk-js/src/track/Track.ts:48
Inherited from
Section titled “Inherited from”_processor?
Section titled “_processor?”protected _processor?: TrackProcessor<TrackKind>;Defined in: client-sdk-js/src/track/LocalTrack.ts:22
Inherited from
Section titled “Inherited from”addListener
Section titled “addListener”addListener: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:37
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof TrackEvents ? TrackEvents[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”attachedElements
Section titled “attachedElements”attachedElements: HTMLMediaElement[] = [];Defined in: client-sdk-js/src/track/Track.ts:41
Inherited from
Section titled “Inherited from”emit: <E>(event, ...args) => boolean;Defined in: client-sdk-js/src/utils/typedEmitter.ts:17
Type Parameters
Section titled “Type Parameters”E extends
| Muted
| Unmuted
| Ended
| ElementAttached
| ElementDetached
| AudioPlaybackStarted
| AudioPlaybackFailed
| VideoPlaybackStarted
| VideoPlaybackFailed
| VisibilityChanged
| VideoDimensionsChanged
| UpstreamPaused
| UpstreamResumed
| AudioSilenceDetected
| StreamStateChanged
| TimeSyncUpdate
Parameters
Section titled “Parameters”E
…Parameters<TrackEvents[E]>
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”kind: TrackKind;Defined in: client-sdk-js/src/track/Track.ts:27
Inherited from
Section titled “Inherited from”listenerCount
Section titled “listenerCount”listenerCount: (event) => number;Defined in: client-sdk-js/src/utils/typedEmitter.ts:57
Parameters
Section titled “Parameters”string | number
Returns
Section titled “Returns”number
Inherited from
Section titled “Inherited from”listeners
Section titled “listeners”listeners: <E>(event) => E extends keyof TrackEvents ? TrackEvents[E][] : ((...args) => void)[];Defined in: client-sdk-js/src/utils/typedEmitter.ts:49
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
Returns
Section titled “Returns”E extends keyof TrackEvents ? TrackEvents[E][] : ((…args) => void)[]
Inherited from
Section titled “Inherited from”monitorInterval?
Section titled “monitorInterval?”protected monitorInterval?: number;Defined in: client-sdk-js/src/track/Track.ts:44
Inherited from
Section titled “Inherited from”off: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:32
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof TrackEvents ? TrackEvents[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”on: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:22
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof TrackEvents ? TrackEvents[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”once: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:27
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof TrackEvents ? TrackEvents[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”pauseUpstreamLock
Section titled “pauseUpstreamLock”protected pauseUpstreamLock: Mutex;Defined in: client-sdk-js/src/track/LocalTrack.ts:35
Inherited from
Section titled “Inherited from”processorElement?
Section titled “processorElement?”protected processorElement?: HTMLMediaElement;Defined in: client-sdk-js/src/track/LocalTrack.ts:23
Inherited from
Section titled “Inherited from”rawListeners
Section titled “rawListeners”rawListeners: <E>(event) => E extends keyof TrackEvents ? TrackEvents[E][] : ((...args) => void)[];Defined in: client-sdk-js/src/utils/typedEmitter.ts:53
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
Returns
Section titled “Returns”E extends keyof TrackEvents ? TrackEvents[E][] : ((…args) => void)[]
Inherited from
Section titled “Inherited from”removeAllListeners
Section titled “removeAllListeners”removeAllListeners: (event?) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:47
Parameters
Section titled “Parameters”event?
Section titled “event?”string | number
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”removeListener
Section titled “removeListener”removeListener: <E>(event, listener) => this;Defined in: client-sdk-js/src/utils/typedEmitter.ts:42
Type Parameters
Section titled “Type Parameters”E extends string | number
Parameters
Section titled “Parameters”E
listener
Section titled “listener”E extends keyof TrackEvents ? TrackEvents[E] : (…args) => void
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”sid?: string;Defined in: client-sdk-js/src/track/Track.ts:29
Inherited from
Section titled “Inherited from”source
Section titled “source”source: TrackSource;Defined in: client-sdk-js/src/track/Track.ts:28
Inherited from
Section titled “Inherited from”stopOnMute
Section titled “stopOnMute”stopOnMute: boolean = false;Defined in: client-sdk-js/src/track/LocalAudioTrack.ts:14
When true, the underlying MediaStreamTrack is stopped when the track
is muted and restarted when unmuted. Useful for disabling the microphone
recording indicator on some platforms.
trackChangeLock
Section titled “trackChangeLock”protected trackChangeLock: Mutex;Defined in: client-sdk-js/src/track/LocalTrack.ts:34
Inherited from
Section titled “Inherited from”defaultMaxListeners
Section titled “defaultMaxListeners”static defaultMaxListeners: number;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:5
Inherited from
Section titled “Inherited from”LocalTrack.defaultMaxListeners
Accessors
Section titled “Accessors”constraints
Section titled “constraints”Get Signature
Section titled “Get Signature”get constraints(): MediaTrackConstraints | undefined;Defined in: client-sdk-js/src/track/LocalTrack.ts:69
Current capture constraints.
Returns
Section titled “Returns”MediaTrackConstraints | undefined
Inherited from
Section titled “Inherited from”currentBitrate
Section titled “currentBitrate”Get Signature
Section titled “Get Signature”get currentBitrate(): number;Defined in: client-sdk-js/src/track/Track.ts:77
Current bitrate in bits per second, updated by the monitor.
Returns
Section titled “Returns”number
Inherited from
Section titled “Inherited from”dimensions
Section titled “dimensions”Get Signature
Section titled “Get Signature”get dimensions(): TrackDimensions | undefined;Defined in: client-sdk-js/src/track/LocalTrack.ts:77
Video dimensions from the current track settings.
Returns undefined for audio tracks.
Returns
Section titled “Returns”TrackDimensions | undefined
Inherited from
Section titled “Inherited from”Get Signature
Section titled “Get Signature”get id(): string;Defined in: client-sdk-js/src/track/LocalTrack.ts:64
The MediaStreamTrack id.
Returns
Section titled “Returns”string
Inherited from
Section titled “Inherited from”isLocal
Section titled “isLocal”Get Signature
Section titled “Get Signature”get isLocal(): boolean;Defined in: client-sdk-js/src/track/LocalTrack.ts:59
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”isMuted
Section titled “isMuted”Get Signature
Section titled “Get Signature”get isMuted(): boolean;Defined in: client-sdk-js/src/track/Track.ts:88
Whether the track is currently muted. This reflects the publisher’s intent and is independent of consumer pause state or streamState.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”isUpstreamPaused
Section titled “isUpstreamPaused”Get Signature
Section titled “Get Signature”get isUpstreamPaused(): boolean;Defined in: client-sdk-js/src/track/LocalTrack.ts:85
Whether upstream publishing has been paused via pauseUpstream.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”isUserProvided
Section titled “isUserProvided”Get Signature
Section titled “Get Signature”get isUserProvided(): boolean;Defined in: client-sdk-js/src/track/LocalTrack.ts:90
Whether the track was provided by the user (not managed by the SDK).
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”mediaStreamTrack
Section titled “mediaStreamTrack”Get Signature
Section titled “Get Signature”get mediaStreamTrack(): MediaStreamTrack;Defined in: client-sdk-js/src/track/LocalTrack.ts:55
Returns the processed track if a processor is active, otherwise the raw source track. Consumers should use this for playback and publishing.
Returns
Section titled “Returns”MediaStreamTrack
Inherited from
Section titled “Inherited from”streamState
Section titled “streamState”Get Signature
Section titled “Get Signature”get streamState(): StreamState;Defined in: client-sdk-js/src/track/Track.ts:98
The current stream state of the track.
StreamState.Active means the server is actively forwarding media;
StreamState.Paused means the server has temporarily stopped forwarding (e.g. bandwidth limits).
This is separate from isMuted, which reflects the publisher’s intent.
Returns
Section titled “Returns”Inherited from
Section titled “Inherited from”Methods
Section titled “Methods”addVisibilityListener()
Section titled “addVisibilityListener()”addVisibilityListener(): void;Defined in: client-sdk-js/src/track/LocalTrack.ts:471
Start listening for visibility changes (should be called after publishing).
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”LocalTrack.addVisibilityListener
attach()
Section titled “attach()”attach(element?): HTMLMediaElement;Defined in: client-sdk-js/src/track/Track.ts:156
Parameters
Section titled “Parameters”element?
Section titled “element?”HTMLMediaElement
Returns
Section titled “Returns”HTMLMediaElement
Inherited from
Section titled “Inherited from”detach()
Section titled “detach()”detach(element?): HTMLMediaElement[];Defined in: client-sdk-js/src/track/Track.ts:199
Parameters
Section titled “Parameters”element?
Section titled “element?”HTMLMediaElement
Returns
Section titled “Returns”HTMLMediaElement[]
Inherited from
Section titled “Inherited from”detachEndedListener()
Section titled “detachEndedListener()”protected detachEndedListener(track): void;Defined in: client-sdk-js/src/track/Track.ts:72
Detach the base-class ‘ended’ listener from the given track.
Parameters
Section titled “Parameters”MediaStreamTrack
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”LocalTrack.detachEndedListener
eventNames()
Section titled “eventNames()”eventNames(): (string | number)[];Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:7
Returns
Section titled “Returns”(string | number)[]
Inherited from
Section titled “Inherited from”getDeviceId()
Section titled “getDeviceId()”getDeviceId(): Promise<string | undefined>;Defined in: client-sdk-js/src/track/LocalTrack.ts:267
Get the device ID currently used by this track.
Returns
Section titled “Returns”Promise<string | undefined>
Inherited from
Section titled “Inherited from”getMaxListeners()
Section titled “getMaxListeners()”getMaxListeners(): number;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:9
Returns
Section titled “Returns”number
Inherited from
Section titled “Inherited from”getProcessor()
Section titled “getProcessor()”getProcessor(): | TrackProcessor<TrackKind> | undefined;Defined in: client-sdk-js/src/track/LocalTrack.ts:105
Returns the currently active processor, or undefined.
Returns
Section titled “Returns”| TrackProcessor<TrackKind>
| undefined
Inherited from
Section titled “Inherited from”getRTCStatsReport()
Section titled “getRTCStatsReport()”getRTCStatsReport(): Promise<RTCStatsReport | undefined>;Defined in: client-sdk-js/src/track/LocalTrack.ts:259
Gets the RTCStatsReport for the underlying RTP sender.
Returns
Section titled “Returns”Promise<RTCStatsReport | undefined>
Inherited from
Section titled “Inherited from”getSourceTrackSettings()
Section titled “getSourceTrackSettings()”getSourceTrackSettings(): MediaTrackSettings;Defined in: client-sdk-js/src/track/LocalTrack.ts:114
Returns the settings of the original source track, ignoring any active processor. Useful when you need the real capture resolution or device info regardless of post-processing.
Returns
Section titled “Returns”MediaTrackSettings
Inherited from
Section titled “Inherited from”LocalTrack.getSourceTrackSettings
monitorStats()
Section titled “monitorStats()”protected monitorStats( getStats, reportType, bytesField): Promise<void>;Defined in: client-sdk-js/src/track/Track.ts:130
Samples RTP bytes from a stats report and updates currentBitrate. Shared by local (producer/outbound) and remote (consumer/inbound) tracks: they only differ in which report type and byte field to read.
Parameters
Section titled “Parameters”getStats
Section titled “getStats”() => Promise<RTCStatsReport> | undefined
returns the underlying transport/producer/consumer stats, or undefined when the source is already closed.
reportType
Section titled “reportType”string
the RTC stats report type to aggregate (e.g. outbound-rtp).
bytesField
Section titled “bytesField”string
the byte field name on that report (e.g. bytesSent).
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”mute()
Section titled “mute()”mute(): Promise<void>;Defined in: client-sdk-js/src/track/LocalAudioTrack.ts:29
Mute the track (disables the MediaStreamTrack).
Returns
Section titled “Returns”Promise<void>
Overrides
Section titled “Overrides”onEnded()
Section titled “onEnded()”protected onEnded(): void;Defined in: client-sdk-js/src/track/LocalTrack.ts:129
Hook fired when the underlying MediaStreamTrack ends.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”onEndedListener()
Section titled “onEndedListener()”protected onEndedListener(): void;Defined in: client-sdk-js/src/track/Track.ts:62
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”pauseUpstream()
Section titled “pauseUpstream()”pauseUpstream(): Promise<void>;Defined in: client-sdk-js/src/track/LocalTrack.ts:223
Pause publishing to the server without disabling the local MediaStreamTrack. Useful for showing a local preview while not sending to remote participants.
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”prependListener()
Section titled “prependListener()”prependListener(type, listener): this;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:14
Parameters
Section titled “Parameters”string | number
listener
Section titled “listener”Listener
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”prependOnceListener()
Section titled “prependOnceListener()”prependOnceListener(type, listener): this;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:15
Parameters
Section titled “Parameters”string | number
listener
Section titled “listener”Listener
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”LocalTrack.prependOnceListener
replaceTrack()
Section titled “replaceTrack()”replaceTrack(newTrack): Promise<void>;Defined in: client-sdk-js/src/track/LocalTrack.ts:350
Parameters
Section titled “Parameters”newTrack
Section titled “newTrack”MediaStreamTrack
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”restart()
Section titled “restart()”restart(constraints?): Promise<void>;Defined in: client-sdk-js/src/track/LocalTrack.ts:307
Parameters
Section titled “Parameters”constraints?
Section titled “constraints?”MediaTrackConstraints
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”resumeUpstream()
Section titled “resumeUpstream()”resumeUpstream(): Promise<void>;Defined in: client-sdk-js/src/track/LocalTrack.ts:240
Resume publishing after a call to pauseUpstream.
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”setDeviceId()
Section titled “setDeviceId()”setDeviceId(deviceId, exact?): Promise<void>;Defined in: client-sdk-js/src/track/LocalAudioTrack.ts:64
Parameters
Section titled “Parameters”deviceId
Section titled “deviceId”string
exact?
Section titled “exact?”boolean = true
Returns
Section titled “Returns”Promise<void>
setMaxListeners()
Section titled “setMaxListeners()”setMaxListeners(n): this;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:8
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”this
Inherited from
Section titled “Inherited from”setProcessor()
Section titled “setProcessor()”setProcessor(processor, showProcessedStreamLocally?): Promise<void>;Defined in: client-sdk-js/src/track/LocalTrack.ts:142
Set a TrackProcessor on this track. Pass undefined to remove
the current processor.
Parameters
Section titled “Parameters”processor
Section titled “processor”| TrackProcessor<TrackKind>
| undefined
showProcessedStreamLocally?
Section titled “showProcessedStreamLocally?”boolean = true
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”setTrackMuted()
Section titled “setTrackMuted()”protected setTrackMuted(muted): void;Defined in: client-sdk-js/src/track/LocalTrack.ts:419
Parameters
Section titled “Parameters”boolean
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”stop()
Section titled “stop()”stop(): void;Defined in: client-sdk-js/src/track/LocalTrack.ts:400
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”stopMediaTrackQuietly()
Section titled “stopMediaTrackQuietly()”protected stopMediaTrackQuietly(track): void;Defined in: client-sdk-js/src/track/LocalTrack.ts:123
Suppresses the TrackEvent.Ended emission for tracks the SDK stops on purpose (device switch, stopOnMute, Safari restart, stop()) so that consumers can treat Ended as an actual device/source failure.
Parameters
Section titled “Parameters”MediaStreamTrack | undefined
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”LocalTrack.stopMediaTrackQuietly
stopProcessor()
Section titled “stopProcessor()”stopProcessor(): Promise<void>;Defined in: client-sdk-js/src/track/LocalTrack.ts:189
Stop and remove the current processor.
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”unmute()
Section titled “unmute()”unmute(): Promise<void>;Defined in: client-sdk-js/src/track/LocalAudioTrack.ts:44
Unmute the track (enables the MediaStreamTrack).
Returns
Section titled “Returns”Promise<void>
Overrides
Section titled “Overrides”waitForDimensions()
Section titled “waitForDimensions()”waitForDimensions(timeout?): Promise<TrackDimensions>;Defined in: client-sdk-js/src/track/LocalTrack.ts:277
Wait until the video track reports valid dimensions.
Parameters
Section titled “Parameters”timeout?
Section titled “timeout?”number = DEFAULT_DIMENSIONS_TIMEOUT
Returns
Section titled “Returns”Promise<TrackDimensions>
Throws
Section titled “Throws”Error if the track is audio or dimensions don’t become available within the timeout.
Inherited from
Section titled “Inherited from”listenerCount()
Section titled “listenerCount()”static listenerCount(emitter, type): number;Defined in: client-sdk-js/node_modules/.pnpm/@types+events@3.0.3/node_modules/@types/events/index.d.ts:4
Parameters
Section titled “Parameters”emitter
Section titled “emitter”EventEmitter
string | number
Returns
Section titled “Returns”number