Interface ILocalTrack

  • React

更新时间不可用

LocalTrack 为本地轨道的基础类,为音频轨道 LocalAudioTrack 和视频轨道 LocalVideoTrack 提供一些公共的方法。

Events

track-ended

track-ended(): void

音频或视频轨道被终止,终止的原因可能是:

  • 摄像头被拔出
  • 麦克风被拔出
  • 用户主动停止了屏幕共享
  • 用户主动关闭了底层的 MediaStreamTrack
  • 媒体设备故障
  • 正在使用中的媒体设备的权限被收回
Returns
返回类型描述

void

表格内容超出当前宽度,可横向滚动查看更多列。

transceiver-updated

transceiver-updated(transceiver: RTCRtpTransceiver, type?: StreamType): void

当前轨道的 RTCRtpTransceiver 实例更新回调。

Parameters
参数名描述
transceiverRTCRtpTransceiver
required

新的 RTCRtpTransceiver 实例。

optional

当前轨道所属视频流的类型。详见 StreamType。

表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

void

表格内容超出当前宽度,可横向滚动查看更多列。

Properties

enabled

enabled: boolean

本地轨道当前的启用状态。

isPlaying

isPlaying: boolean

Inherited from IBufferSourceAudioTrack.isPlaying

媒体轨道是否正在页面上播放。

  • true: 媒体轨道正在页面上播放。
  • false: 媒体轨道没有在页面上播放。

muted

muted: boolean

本地媒体轨道当前的静音状态。

trackMediaType

trackMediaType: "audio"|"video"

Inherited from IBufferSourceAudioTrack.trackMediaType

媒体轨道的类型:

  • "audio": 音频轨道。
  • "video": 视频轨道。

Methods

close

close(): void

关闭本地轨道,并释放相关采集设备。

一旦本地轨道被关闭,就无法再次使用。如需再次使用本地轨道,需要重新创建。

Returns
返回类型描述

void

表格内容超出当前宽度,可横向滚动查看更多列。

getListeners

getListeners(event: string): Function[]

Inherited from EventEmitter.getListeners

指定一个事件名,获取当前所有监听这个事件的回调函数。

Parameters
参数名描述
eventstring
required

事件名称。

表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

Function[]

表格内容超出当前宽度,可横向滚动查看更多列。

getMediaStreamTrack

getMediaStreamTrack(): MediaStreamTrack

Inherited from IBufferSourceAudioTrack.getMediaStreamTrack

获取浏览器原生的 MediaStreamTrack 对象。

Returns
返回类型描述

MediaStreamTrack

一个 MediaStreamTrack 对象。

表格内容超出当前宽度,可横向滚动查看更多列。

getRTCRtpTransceiver

getRTCRtpTransceiver(type?: StreamType): RTCRtpTransceiver | undefined

Inherited from IBufferSourceAudioTrack.getRTCRtpTransceiver

获取当前轨道的 RTCRtpTransceiver 实例。

该方法目前主要用于视频流的端到端加密(Beta)。

如果 SDK 发生断线重连,当前轨道对应的 RTCRtpTransceiver 实例可能会发生变化。你可以通过以下回调来获取新的 RTCRtpTransceiver 实例:

Parameters
参数名描述
optional

视频流的类型。详见 StreamType。

表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

RTCRtpTransceiver | undefined

当前轨道的 RTCRtpTransceiver 实例。

表格内容超出当前宽度,可横向滚动查看更多列。

getStats

deprecated

自 v4.1.0 起废弃,请使用 AgoraRTCClient.getLocalVideoStats 和 AgoraRTCClient.getLocalAudioStats。

获取本地轨道相关信息。

注意事项

获取本地视频轨道数据时,iOS 上无法获取到 encodeDelay 字段。

Returns
返回类型描述
表格内容超出当前宽度,可横向滚动查看更多列。

getTrackId

getTrackId(): string

Inherited from IBufferSourceAudioTrack.getTrackId

获取由 SDK 生成的对于媒体轨道来说的唯一 ID。

Returns
返回类型描述

string

媒体轨道 ID。

表格内容超出当前宽度,可横向滚动查看更多列。

getTrackLabel

getTrackLabel(): string

获取本地轨道的来源描述。

Returns
返回类型描述

string

可能返回以下值:

  • 如果是通过 createMicrophoneAudioTrack 或 createCameraVideoTrack 创建的轨道,返回 MediaDeviceInfo.label 字段。
  • 如果是通过 createScreenVideoTrack 创建的轨道,返回屏幕共享的 sourceId。
  • 如果是 createCustomAudioTrack 或 createCustomVideoTrack 创建的轨道,返回 MediaStreamTrack.label 字段。
表格内容超出当前宽度,可横向滚动查看更多列。

off

off(event: string, listener: Function): void

Inherited from EventEmitter.off

取消一个指定事件的监听。

Parameters
参数名描述
eventstring
required

指定事件的名称。

listenerFunction
required

监听事件时传入的回调函数。

表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

void

表格内容超出当前宽度,可横向滚动查看更多列。

on

on [1/3]

on(event: "track-updated", listener: typeof event_track_updated): void

Overrides EventEmitter.on

Parameters
参数名描述
event"track-updated"
required

事件名称。

listenertypeof event_track_updated
required

详见 track-updated。

表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

void

表格内容超出当前宽度,可横向滚动查看更多列。

on [2/3]

on(event: "track-ended", listener: typeof event_track_ended): void

Overrides EventEmitter.on

Parameters
参数名描述
event"track-ended"
required

事件名称。

listenertypeof event_track_ended
required

详见 track-ended。

表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

void

表格内容超出当前宽度,可横向滚动查看更多列。

on [3/3]

on(event: "transceiver-updated", listener: typeof event_transceiver_updated): void

Overrides EventEmitter.on

添加事件监听器。

Parameters
参数名描述
event"transceiver-updated"
required

事件名称。

listenertypeof event_transceiver_updated
required
表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

void

表格内容超出当前宽度,可横向滚动查看更多列。

once

once(event: string, listener: Function): void

Inherited from EventEmitter.once

监听一个指定的事件,当事件触发时会调用传入的回调函数。

当监听后事件第一次触发时,该监听和回调函数就会被立刻移除,也就是只监听一次指定事件。

Parameters
参数名描述
eventstring
required

指定事件的名称。

listenerFunction
required

传入的回调函数。

表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

void

表格内容超出当前宽度,可横向滚动查看更多列。

play

play(element?: string | HTMLElement): void

Inherited from ILocalTrack.play

在页面上播放媒体轨道。

Parameters
参数名描述
elementstring | HTMLElement
optional

指定一个 DOM 元素,SDK 将在这个元素下创建 <video> 元素播放视频轨道,支持 2 种类型:

  • string: 指定该 DOM 元素的 ID 值。
  • HTMLElement: 直接传入一个 DOM 元素对象。
表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

void

表格内容超出当前宽度,可横向滚动查看更多列。

removeAllListeners

removeAllListeners(event?: string): void

Inherited from EventEmitter.removeAllListeners

指定一个事件,取消其所有的监听。

Parameters
参数名描述
eventstring
optional

指定事件的名称,如果没有指定事件,则取消所有事件的所有监听。

表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

void

表格内容超出当前宽度,可横向滚动查看更多列。

setEnabled

setEnabled(enabled: boolean): Promise<void>

自从

4.0.0

启用/禁用该轨道。

轨道禁用后,播放和发布都将被停止。

Parameters
参数名描述
enabledboolean
required

是否启用该轨道:

  • true: 启用该轨道。
  • false: 禁用该轨道。
表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

Promise<void>

表格内容超出当前宽度,可横向滚动查看更多列。

setMuted

setMuted(muted: boolean): Promise<void>

发送或暂停发送该轨道的媒体数据。

自从

4.6.0

如果该轨道已发布,调用 setMuted(true) 后,远端会触发 user-unpublished 事件。再调用 setMuted(false) 后,远端会触发 user-published 事件。

Parameters
参数名描述
mutedboolean
required

是否发送该轨道的媒体数据:

  • true: 暂停发送该轨道的媒体数据。
  • false: 恢复发送该轨道的媒体数据。
表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

Promise<void>

表格内容超出当前宽度,可横向滚动查看更多列。

stop

stop(): void

Inherited from IBufferSourceAudioTrack.stop

停止播放。

Returns
返回类型描述

void

表格内容超出当前宽度,可横向滚动查看更多列。