Interface IRemoteTrack
- Web
更新时间不可用
远端轨道对象的基础类,为远端音频轨道 RemoteAudioTrack 和远端视频轨道 RemoteVideoTrack 提供一些公共的方法。
Events
first-frame-decoded
first-frame-decoded(): void首帧音频或视频解码时触发。
注意
该事件只有在本地调用了 IRemoteTrack.play 后才会触发。
| 返回类型 | 描述 |
|---|---|
void |
transceiver-updated
transceiver-updated(transceiver: RTCRtpTransceiver): void当前轨道的 RTCRtpTransceiver 实例更新回调。
| 参数名 | 描述 |
|---|---|
transceiverRTCRtpTransceiver | 新的 |
| 返回类型 | 描述 |
|---|---|
void |
video-state-changed
video-state-changed(videoState: VideoState): void视频状态发生变化时触发。
| 参数名 | 描述 |
|---|---|
videoStateVideoState |
| 返回类型 | 描述 |
|---|---|
void |
Properties
isPlaying
isPlaying: booleanInherited from IBufferSourceAudioTrack.isPlaying
媒体轨道是否正在页面上播放。
true: 媒体轨道正在页面上播放。false: 媒体轨道没有在页面上播放。
trackMediaType
trackMediaType: "audio"|"video"Inherited from IBufferSourceAudioTrack.trackMediaType
媒体轨道的类型:
"audio": 音频轨道。"video": 视频轨道。
Methods
getListeners
getListeners(event: string): Function[]Inherited from EventEmitter.getListeners
指定一个事件名,获取当前所有监听这个事件的回调函数。
| 参数名 | 描述 |
|---|---|
eventstring | 事件名称。 |
| 返回类型 | 描述 |
|---|---|
Function[] |
getMediaStreamTrack
getMediaStreamTrack(): MediaStreamTrackInherited from IBufferSourceAudioTrack.getMediaStreamTrack
获取浏览器原生的 MediaStreamTrack 对象。
| 返回类型 | 描述 |
|---|---|
MediaStreamTrack | 一个 MediaStreamTrack 对象。 |
getRTCRtpTransceiver
getRTCRtpTransceiver(type?: StreamType): RTCRtpTransceiver | undefinedInherited from IBufferSourceAudioTrack.getRTCRtpTransceiver
获取当前轨道的 RTCRtpTransceiver 实例。
该方法目前主要用于视频流的端到端加密(Beta)。
如果 SDK 发生断线重连,当前轨道对应的
RTCRtpTransceiver实例可能会发生变化。你可以通过以下回调来获取新的RTCRtpTransceiver实例:
| 参数名 | 描述 |
|---|---|
typeStreamType | 视频流的类型。详见 StreamType。 |
| 返回类型 | 描述 |
|---|---|
RTCRtpTransceiver | undefined | 当前轨道的 |
getStats
getStats(): RemoteAudioTrackStats | RemoteVideoTrackStats获取远端轨道相关信息。
deprecated
自 v4.1.0 起废弃,请使用 AgoraRTCClient.getRemoteVideoStats 和 AgoraRTCClient.getRemoteAudioStats。
| 返回类型 | 描述 |
|---|---|
getTrackId
getTrackId(): stringInherited from IBufferSourceAudioTrack.getTrackId
获取由 SDK 生成的对于媒体轨道来说的唯一 ID。
| 返回类型 | 描述 |
|---|---|
string | 媒体轨道 ID。 |
getUserId
getUserId(): UID获取发布远端轨道的远端用户 ID。
| 返回类型 | 描述 |
|---|---|
远端轨道对应的 |
off
off(event: string, listener: Function): voidInherited from EventEmitter.off
取消一个指定事件的监听。
| 参数名 | 描述 |
|---|---|
eventstring | 指定事件的名称。 |
listenerFunction | 监听事件时传入的回调函数。 |
| 返回类型 | 描述 |
|---|---|
void |
on
on [1/3]
on(event: "track-updated", listener: typeof event_track_updated): voidOverrides EventEmitter.on
| 参数名 | 描述 |
|---|---|
event"track-updated" | 事件名称。 |
listenertypeof event_track_updated | 详见 track-updated。 |
| 返回类型 | 描述 |
|---|---|
void |
on [2/3]
on(event: "first-frame-decoded", listener: typeof event_first_frame_decoded): voidOverrides EventEmitter.on
| 参数名 | 描述 |
|---|---|
event"first-frame-decoded" | 事件名称。 |
listenertypeof event_first_frame_decoded |
| 返回类型 | 描述 |
|---|---|
void |
on [3/3]
on(event: "transceiver-updated", listener: typeof event_transceiver_updated_2): voidOverrides EventEmitter.on
添加事件监听器。
| 参数名 | 描述 |
|---|---|
event"transceiver-updated" | 事件名称。 |
listenertypeof event_transceiver_updated_2 |
| 返回类型 | 描述 |
|---|---|
void |
once
once(event: string, listener: Function): voidInherited from EventEmitter.once
监听一个指定的事件,当事件触发时会调用传入的回调函数。
当监听后事件第一次触发时,该监听和回调函数就会被立刻移除,也就是只监听一次指定事件。
| 参数名 | 描述 |
|---|---|
eventstring | 指定事件的名称。 |
listenerFunction | 传入的回调函数。 |
| 返回类型 | 描述 |
|---|---|
void |
play
play(element?: string | HTMLElement): voidInherited from ILocalTrack.play
在页面上播放媒体轨道。
| 参数名 | 描述 |
|---|---|
elementstring | HTMLElement | 指定一个 DOM 元素,SDK 将在这个元素下创建
|
| 返回类型 | 描述 |
|---|---|
void |
removeAllListeners
removeAllListeners(event?: string): voidInherited from EventEmitter.removeAllListeners
指定一个事件,取消其所有的监听。
| 参数名 | 描述 |
|---|---|
eventstring | 指定事件的名称,如果没有指定事件,则取消所有事件的所有监听。 |
| 返回类型 | 描述 |
|---|---|
void |
stop
stop(): voidInherited from IBufferSourceAudioTrack.stop
停止播放。
| 返回类型 | 描述 |
|---|---|
void |