API Reference for web - Class: BufferSourceAudioTrack
# Class: BufferSourceAudioTrack
track/BufferSourceAudioTrack.BufferSourceAudioTrack
# Hierarchy
-
↳
BufferSourceAudioTrack
# Properties
# _bufferSource
_bufferSource: BufferSourceAudioControl
# source
source: AudioBuffer
# defaultMaxListeners
Static
defaultMaxListeners: number
# Inherited from
LocalAudioTrack.defaultMaxListeners
# errorMonitor
Static
Readonly
errorMonitor: typeof errorMonitor
This symbol shall be used to install a listener for only monitoring 'error'
events. Listeners installed using this symbol are called before the regular
'error'
listeners are called.
Installing a listener using this symbol does not change the behavior once an
'error'
event is emitted, therefore the process will still crash if no
regular 'error'
listener is installed.
# Inherited from
# Accessors
# currentState
get
currentState(): string
当前音频数据源的处理状态(开始/暂停/停止)。
# Returns
string
# duration
get
duration(): number
音频总时长,单位为秒。
# Returns
number
# enabled
get
enabled(): boolean
本地轨道当前的启用状态。
# Returns
boolean
# Inherited from
LocalAudioTrack.enabled
# isPlaying
get
isPlaying(): boolean
媒体轨道是否正在页面上播放。
true
: 媒体轨道正在页面上播放。false
: 媒体轨道没有在页面上播放。
# Returns
boolean
# Inherited from
LocalAudioTrack.isPlaying
# muted
get
muted(): boolean
本地媒体轨道当前的静音状态。
# Returns
boolean
# Inherited from
LocalAudioTrack.muted
# Methods
# addListener
addListener(event
, listener
): BufferSourceAudioTrack
# Parameters
Name | Type |
---|---|
event | string | symbol |
listener | (...args : any []) => void |
# Returns
# Inherited from
# close
close(): void
关闭本地轨道,并释放相关采集设备。 一旦本地轨道被关闭,就无法再次使用。如需再次使用本地轨道,需要重新创建。
# Returns
void
# Overrides
# emit
emit(event
, ...args
): boolean
# Parameters
Name | Type |
---|---|
event | string | symbol |
...args | any [] |
# Returns
boolean
# Inherited from
# eventNames
eventNames(): (string
| symbol
)[]
# Returns
(string
| symbol
)[]
# Inherited from
# getCurrentTime
getCurrentTime(): number
# Returns
number
# getListeners
getListeners(event
): Function
[]
指定一个事件名,获取当前所有监听这个事件的回调函数。
# Parameters
Name | Type | Description |
---|---|---|
event | string | 事件名称。 |
# Returns
Function
[]
# Inherited from
# getMaxListeners
getMaxListeners(): number
# Returns
number
# Inherited from
LocalAudioTrack.getMaxListeners
# getMediaStreamTrack
getMediaStreamTrack(): MediaStreamTrack
获取浏览器原生的 MediaStreamTrack (opens new window) 对象。
# Returns
MediaStreamTrack
# Inherited from
LocalAudioTrack.getMediaStreamTrack
# getTrackId
getTrackId(): string
获取由 SDK 生成的对于媒体轨道来说的唯一 ID。
# Returns
string
媒体轨道 ID。
# Inherited from
# getTrackLabel
getTrackLabel(): undefined
| string
获取本地轨道的来源描述。
# Returns
undefined
| string
可能返回以下值:
- 如果是通过
createMicrophoneAudioTrack
或createCameraVideoTrack
创建的轨道,返回 MediaDeviceInfo.label (opens new window) 字段。 - 如果是通过
createScreenVideoTrack
创建的轨道,返回屏幕共享的sourceId
。 - 如果是 createCustomAudioTrack 或 createCustomVideoTrack 创建的轨道,返回 MediaStreamTrack.label (opens new window) 字段。
# Inherited from
# getVolumeLevel
getVolumeLevel(): number
获取本地音频轨道的音量等级。
# Returns
number
# Overrides
LocalAudioTrack.getVolumeLevel
# listenerCount
listenerCount(event
): number
# Parameters
Name | Type |
---|---|
event | string | symbol |
# Returns
number
# Inherited from
# listeners
listeners(event
): Function
[]
# Parameters
Name | Type |
---|---|
event | string | symbol |
# Returns
Function
[]
# Inherited from
# off
off(event
, listener
): BufferSourceAudioTrack
# Parameters
Name | Type |
---|---|
event | string | symbol |
listener | (...args : any []) => void |
# Returns
# Inherited from
# once
once(event
, listener
): BufferSourceAudioTrack
# Parameters
Name | Type |
---|---|
event | string | symbol |
listener | (...args : any []) => void |
# Returns
# Inherited from
# pauseProcessAudioBuffer
pauseProcessAudioBuffer(): void
暂停处理音频数据。
# Returns
void
# play
play(): void
播放本地音频轨道。
播放音频时 SDK 不会创建任何 DOM 元素,所以无需像视频一样提供 DOM 元素。
# Returns
void
# Overrides
# prependListener
prependListener(event
, listener
): BufferSourceAudioTrack
# Parameters
Name | Type |
---|---|
event | string | symbol |
listener | (...args : any []) => void |
# Returns
# Inherited from
LocalAudioTrack.prependListener
# prependOnceListener
prependOnceListener(event
, listener
): BufferSourceAudioTrack
# Parameters
Name | Type |
---|---|
event | string | symbol |
listener | (...args : any []) => void |
# Returns
# Inherited from
LocalAudioTrack.prependOnceListener
# rawListeners
rawListeners(event
): Function
[]
# Parameters
Name | Type |
---|---|
event | string | symbol |
# Returns
Function
[]
# Inherited from
# removeAllListeners
removeAllListeners(event?
): BufferSourceAudioTrack
# Parameters
Name | Type |
---|---|
event? | string | symbol |
# Returns
# Inherited from
LocalAudioTrack.removeAllListeners
# removeListener
removeListener(event
, listener
): BufferSourceAudioTrack
# Parameters
Name | Type |
---|---|
event | string | symbol |
listener | (...args : any []) => void |
# Returns
# Inherited from
LocalAudioTrack.removeListener
# resumeProcessAudioBuffer
resumeProcessAudioBuffer(): void
恢复被暂停的音频数据处理。
# Returns
void
# safeEmit
safeEmit(event
, ...args
): boolean
# Parameters
Name | Type |
---|---|
event | string |
...args | any [] |
# Returns
boolean
# Inherited from
# safeEmitAsPromise
safeEmitAsPromise(event
, ...args
): Promise
<any
>
# Parameters
Name | Type |
---|---|
event | string |
...args | any [] |
# Returns
Promise
<any
>
# Inherited from
LocalAudioTrack.safeEmitAsPromise
# seekAudioBuffer
seekAudioBuffer(time
): void
跳转到指定时间。
注意事项:iOS 上不支持该方法。
# Parameters
Name | Type | Description |
---|---|---|
time | number | 指定的音频时间,单位为秒。 |
# Returns
void
# setEnabled
setEnabled(enabled
): Promise
<void
>
启用/禁用该轨道。
轨道禁用后,播放和发布都将被停止。
- 禁用轨道不会触发 LocalTrack.on("track-ended") 事件
- 如果该轨道已发布,禁用轨道后,远端会触发
user-unpublished
事件。重新启用后,远端会触发user-published
事件.
# Parameters
Name | Type | Description |
---|---|---|
enabled | boolean | 是否启用该轨道: - true : 启用该轨道。 - false : 禁用该轨道。 |
# Returns
Promise
<void
>
# Inherited from
# setMaxListeners
setMaxListeners(n
): BufferSourceAudioTrack
# Parameters
Name | Type |
---|---|
n | number |
# Returns
# Inherited from
LocalAudioTrack.setMaxListeners
# setMuted
setMuted(muted
): void
发送或暂停发送该轨道的媒体数据。
如果该轨道已发布,调用 setMuted(true) 后,远端会触发 user-unpublished 事件。再调用 [[setMuted(false)]] 后,远端会触发 [[user-published]] 事件。
- 与 setEnabled 相比,调用该方法响应速度更快且不影响视频采集状态
setEnabled
和setMuted
不能同时调用。
# Parameters
Name | Type | Description |
---|---|---|
muted | boolean | 是否发送该轨道的媒体数据: - true : 暂停发送该轨道的媒体数据。 - false : 恢复发送该轨道的媒体数据。 |
# Returns
void
# Inherited from
# setPlaybackDevice
setPlaybackDevice(): Promise
<never
>
设置远端音频流的播放设备(扬声器)。
注意事项:
- 仅支持设置远端轨道的播放设备。
- 该方法只支持 Chrome 浏览器,其他浏览器调用将会抛出 NOT_SUPPORTED 错误。
# Returns
Promise
<never
>
# Overrides
LocalAudioTrack.setPlaybackDevice
# setVolume
setVolume(volume
): void
设置本地音频轨道的音量。
# Parameters
Name | Type | Description |
---|---|---|
volume | number | 音量值,范围 [0, 1000], 0 代表静音,100 代表原始音量。100 以上会使用 WebAudio 进行音量增益。如果本地音频轨道已经发布,修改音量会影响远端听到的音量大小。 |
# Returns
void
# Overrides
# startProcessAudioBuffer
startProcessAudioBuffer(option
): void
开始处理音频数据源。
开始处理音频数据源说明我们已经将音频数据送入 SDK 的处理节点。如果此时该音频轨道已发布,远端可以听到该音源的声音。 只有在调用 play 之后,音频数据才会送入声卡,此时本地才能听到该音源的声音。
# Parameters
Name | Type |
---|---|
option | AudioSourceOptions |
# Returns
void
# stop
stop(): void
停止播放。
# Returns
void
# Overrides
# stopProcessAudioBuffer
stopProcessAudioBuffer(): void
停止处理音频数据。
# Returns
void
# listenerCount
Static
listenerCount(emitter
, event
): number
deprecated
since v4.0.0
# Parameters
Name | Type |
---|---|
emitter | EventEmitter |
event | string | symbol |
# Returns
number