Interface IRemoteAudioTrack

  • Web

更新时间不可用

远端音频轨道,调用 subscribe 后通过 AgoraRTCRemoteUser.audioTrack 对象获取

Properties

isPlaying

isPlaying: boolean

Inherited from IBufferSourceAudioTrack.isPlaying

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

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

processorDestination

processorDestination: IAudioProcessor

自从

4.13.0

远端音频轨道上当前媒体处理链路的最终节点。

trackMediaType

trackMediaType: "audio"|"video"

Inherited from IBufferSourceAudioTrack.trackMediaType

媒体轨道的类型:

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

Methods

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

Overrides IRemoteTrack.getStats

获取远端音频轨道相关信息。

不推荐使用 请使用 AgoraRTCClient.getRemoteAudioStats 获取远端音频轨道相关信息。

Returns
返回类型描述

一个 RemoteAudioTrackStats 对象。

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

getTrackId

getTrackId(): string

Inherited from IBufferSourceAudioTrack.getTrackId

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

Returns
返回类型描述

string

媒体轨道 ID。

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

getUserId

getUserId(): UID

Inherited from IRemoteAudioTrack.getUserId

获取发布远端轨道的远端用户 ID。

Returns
返回类型描述

远端轨道对应的 uid。

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

getVolume

getVolume(): number
Returns
返回类型描述

number

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

getVolumeLevel

getVolumeLevel(): number

获取远端音频轨道的音量等级。

Returns
返回类型描述

number

音量等级值,范围 [0, 1],1 代表理论最大音量。通常该值大于 0.6 代表用户在持续说话。

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

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

Inherited from IRemoteAudioTrack.on

Overrides EventEmitter.on

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

事件名称。

listenertypeof event_track_updated
required

详见 track-updated。

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

void

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

on [2/3]

on(event: "first-frame-decoded", listener: typeof event_first_frame_decoded): void

Inherited from IRemoteAudioTrack.on

Overrides EventEmitter.on

Parameters
参数名描述
event"first-frame-decoded"
required

事件名称。

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

void

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

on [3/3]

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

Inherited from IRemoteAudioTrack.on

Overrides EventEmitter.on

添加事件监听器。

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

事件名称。

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

void

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

once

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

Inherited from EventEmitter.once

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

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

Parameters
参数名描述
eventstring
required

指定事件的名称。

listenerFunction
required

传入的回调函数。

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

void

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

pipe

pipe(processor: IAudioProcessor): IAudioProcessor

自从

4.13.0

将 Processor 注入远端音频轨道。

Parameters
参数名描述
processorIAudioProcessor
required

Processor 实例。每个插件均有对应类型的 Processor。

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

IAudioProcessor

Processor 实例。

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

play

play(): void

Overrides ILocalTrack.play

播放远端音频轨道。

播放音频时 SDK 不会创建任何 DOM 元素,所以无需像视频一样提供 DOM 元素。

Returns
返回类型描述

void

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

removeAllListeners

removeAllListeners(event?: string): void

Inherited from EventEmitter.removeAllListeners

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

Parameters
参数名描述
eventstring
optional

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

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

void

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

setAmplifiedVolume

setAmplifiedVolume(volume: number): void
Parameters
参数名描述
volumenumber
required
表格内容超出当前宽度,可横向滚动查看更多列。
Returns
返回类型描述

void

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

setAudioFrameCallback

setAudioFrameCallback(audioFrameCallback: null | function, frameSize?: number): void

设置原始音频数据(PCM)回调。

设置成功后,SDK 会不断地将远端音频轨道的音频帧以 AudioBuffer 的形式通过回调返回。

你可以通过 frameSize 来设置每次回调中音频帧的大小。该设置也会影响回调的间隔,frameSize 越大,每次回调的音频数据越多,回调间隔越长。

JavaScript
track.setAudioFrameCallback((buffer) => {
  for (let channel = 0; channel < buffer.numberOfChannels; channel += 1) {
    // Float32Array with PCM data
    const currentChannelData = buffer.getChannelData(channel);
    console.log("PCM data in channel", channel, currentChannelData);
  }
}, 2048);

// ....
// Stop getting the raw audio data
track.setAudioFrameCallback(null);
Parameters
参数名描述
audioFrameCallbacknull | function
required

用于接收 AudioBuffer 的回调函数。设为 null 后,SDK 就会停止获取音频原始数据。

frameSizenumber
optional

每次回调的 AudioBuffer 中每个声道包含的采样数据个数,只能设为下列值:256, 512, 1024, 2048, 4096, 8192, 16384。默认为 4096。

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

void

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

setPlaybackDevice

setPlaybackDevice(deviceId: string): Promise<void>

自从

4.1.0

设置音频播放设备,比如扬声器。

该方法只支持桌面端的 Chrome 和 Edge 浏览器,其他浏览器调用将会抛出 NOT_SUPPORTED 错误。

Parameters
参数名描述
deviceIdstring
required

设备 ID,可以通过 getPlaybackDevices 方法获取。

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

Promise<void>

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

setVolume

setVolume(volume: number): void

设置远端音频轨道的播放音量

Parameters
参数名描述
volumenumber
required

音量值,范围 [0, 100],0 代表静音,100 代表原始音量。

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

void

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

stop

stop(): void

Inherited from IBufferSourceAudioTrack.stop

停止播放。

Returns
返回类型描述

void

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

unpipe

unpipe(): void

自从

4.13.0

取消远端音频轨道上注入的 Processor。

Returns
返回类型描述

void

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