Web(浏览器) API 参考
构建时从公开 SDK 接口定义生成:接口、方法重载、属性、事件、枚举与错误码。
接口概览
本页列出 Web(浏览器) 端公开 API 的类、方法、重载、属性、事件与错误码,接口定义与 SDK 包版本一致。
| 核对项 | 数量 |
|---|---|
| 接口 / 类 | 63 |
| 方法 | 157 |
| 方法重载 | 168 |
| 属性 | 249 |
| 枚举 | 0 |
| 错误码常量 | 96 |
可用性
该端 SDK:正式可用。接口定义与 SDK 包版本一致;运行时的能力边界以实际发布的 SDK 包为准。
加入频道核心链路
按 join / leave / publish / subscribe 的典型调用顺序整理;参数表在“最小可运行链路”一节展开。
| 步骤 | 接口 | 方法 | 重载数 |
|---|---|---|---|
| 加入频道 | IAgoraRTCClient | join | 1 |
| 离开频道 | IAgoraRTCClient | leave | 1 |
| 发布本地轨道 | IAgoraRTCClient | publish | 3 |
| 续期 Token | IAgoraRTCClient | renewToken | 1 |
| 角色切换 | IAgoraRTCClient | setClientRole | 1 |
| 订阅远端媒体 | IAgoraRTCClient | subscribe | 4 |
| 创建 / 初始化 | IAgoraRTC | createClient | 1 |
最小可运行链路的参数
| 参数 | 类型 | 可选 | 可变参数 |
|---|---|---|---|
appid | string | 否 | 否 |
channel | string | 否 | 否 |
token | string|null | 否 | 否 |
uid | UID|null | 是 | 否 |
options | {autoSubscribe?:boolean;autoReceiveAndPlayAudio?:boolean;networkQualityProbe?:boolean} | 是 | 否 |
tracks | ILocalTrack|ILocalTrack[] | 否 | 否 |
config | IDataChannelConfig | 否 | 否 |
params | ILocalTrack|ILocalTrack[]|IDataChannelConfig | 否 | 否 |
token | string | 否 | 否 |
role | ClientRole | 否 | 否 |
options | ClientRoleOptions | 是 | 否 |
user | IAgoraRTCRemoteUser|UID | 否 | 否 |
mediaType | "video" | 否 | 否 |
user | IAgoraRTCRemoteUser|UID | 否 | 否 |
mediaType | "audio" | 否 | 否 |
user | IAgoraRTCRemoteUser|UID | 否 | 否 |
mediaType | "datachannel" | 否 | 否 |
channelId | number | 否 | 否 |
user | IAgoraRTCRemoteUser|UID | 否 | 否 |
mediaType | "video"|"audio"|"datachannel" | 否 | 否 |
channelId | number | 是 | 否 |
config | ClientConfig | 否 | 否 |
接口索引
全部接口
ConstrainLong 0 方法 / 3 属性
| 属性 | 类型 | 只读 |
|---|---|---|
ideal | number | 否 |
max | number | 否 |
min | number | 否 |
ConstrainULong 0 方法 / 3 属性
| 属性 | 类型 | 只读 |
|---|---|---|
ideal | number | 否 |
max | number | 否 |
min | number | 否 |
ClientRoleOptions 0 方法 / 2 属性
| 属性 | 类型 | 只读 |
|---|---|---|
delay | number | 否 |
level | 0|1|2 | 否 |
RetryConfiguration 0 方法 / 2 属性
| 属性 | 类型 | 只读 |
|---|---|---|
maxRetryCount | number | 否 |
retryTimeout | number | 否 |
TurnServerConfig 0 方法 / 5 属性
| 属性 | 类型 | 只读 |
|---|---|---|
credential | string | 否 |
password | string | 否 |
ttl | number | 否 |
urls | string[] | 否 |
username | string | 否 |
LocalAccessPointConfig 0 方法 / 2 属性
| 属性 | 类型 | 只读 |
|---|---|---|
domain | string | 否 |
ips | string[] | 否 |
RTMConfiguration 0 方法 / 2 属性
| 属性 | 类型 | 只读 |
|---|---|---|
rtmToken | string | 否 |
uid | UID | 否 |
ClientConfig 0 方法 / 10 属性
| 属性 | 类型 | 只读 |
|---|---|---|
aiClientMode | boolean | 否 |
audioCodec | SDK_AUDIO_CODEC | 否 |
clientRoleOptions | ClientRoleOptions | 否 |
codec | SDK_CODEC | 否 |
httpRetryConfig | RetryConfiguration | 否 |
mode | SDK_MODE | 否 |
proxyServer | string | 否 |
role | ClientRole | 否 |
turnServer | TurnServerConfig | 否 |
websocketRetryConfig | RetryConfiguration | 否 |
VideoEncoderConfiguration 0 方法 / 8 属性
| 属性 | 类型 | 只读 |
|---|---|---|
bitrateMax | number | 否 |
bitrateMin | number | 否 |
frameRate | number|ConstrainLong | 否 |
height | number|ConstrainLong | 否 |
minDownscaleHeight | number | 否 |
minDownscaleWidth | number | 否 |
scaleResolutionDownBy | number | 否 |
width | number|ConstrainLong | 否 |
CameraVideoTrackInitConfig 0 方法 / 5 属性
| 属性 | 类型 | 只读 |
|---|---|---|
cameraId | string | 否 |
encoderConfig | VideoEncoderConfiguration|VideoEncoderConfigurationPreset | 否 |
facingMode | VideoFacingModeEnum | 否 |
optimizationMode | OptimizationMode | 否 |
scalabiltyMode | SVCConfiguration|SVCConfigurationPreset | 否 |
AudioEncoderConfiguration 0 方法 / 3 属性
| 属性 | 类型 | 只读 |
|---|---|---|
bitrate | number | 否 |
sampleRate | number | 否 |
stereo | boolean | 否 |
AudioTrackInitConfig 0 方法 / 2 属性
| 属性 | 类型 | 只读 |
|---|---|---|
DTX | boolean | 否 |
encoderConfig | AudioEncoderConfiguration|AudioEncoderConfigurationPreset | 否 |
MicrophoneAudioTrackInitConfig 0 方法 / 2 属性
| 属性 | 类型 | 只读 |
|---|---|---|
bypassWebAudio | boolean | 否 |
microphoneId | string | 否 |
BufferSourceAudioTrackInitConfig 0 方法 / 3 属性
| 属性 | 类型 | 只读 |
|---|---|---|
cacheOnline | boolean | 否 |
encoderConfig | AudioEncoderConfiguration|AudioEncoderConfigurationPreset | 否 |
source | string|AudioBuffer | 否 |
CustomAudioTrackInitConfig 0 方法 / 2 属性
| 属性 | 类型 | 只读 |
|---|---|---|
encoderConfig | AudioEncoderConfiguration|AudioEncoderConfigurationPreset | 否 |
mediaStreamTrack | MediaStreamTrack | 否 |
CustomVideoTrackInitConfig 0 方法 / 3 属性
| 属性 | 类型 | 只读 |
|---|---|---|
encoderConfig | VideoEncoderConfiguration|VideoEncoderConfigurationPreset | 否 |
mediaStreamTrack | MediaStreamTrack | 否 |
optimizationMode | OptimizationMode | 否 |
ScreenVideoTrackInitConfig 0 方法 / 13 属性
| 属性 | 类型 | 只读 |
|---|---|---|
displaySurface | "browser"|"window"|"monitor" | 否 |
electronScreenSourceId | string | 否 |
encoderConfig | VideoEncoderConfiguration|ScreenEncoderConfigurationPreset | 否 |
extensionId | string | 否 |
monitorTypeSurfaces | "exclude"|"include" | 否 |
optimizationMode | OptimizationMode | 否 |
preferCurrentTab | boolean | 否 |
scalabiltyMode | SVCConfiguration|SVCConfigurationPreset | 否 |
screenSourceType | ScreenSourceType | 否 |
selfBrowserSurface | "include"|"exclude" | 否 |
surfaceSwitching | "include"|"exclude" | 否 |
systemAudio | "include"|"exclude" | 否 |
windowAudio | "exclude"|"system" | 否 |
SVCConfiguration 0 方法 / 3 属性
| 属性 | 类型 | 只读 |
|---|---|---|
numSpatialLayers | number | 否 |
numTemporalLayers | number | 否 |
scalingFactor | number | 否 |
ScreenAudioTrackInitConfig 0 方法 / 3 属性
| 属性 | 类型 | 只读 |
|---|---|---|
AEC | boolean | 否 |
bypassWebAudio | boolean | 否 |
encoderConfig | AudioEncoderConfiguration|AudioEncoderConfigurationPreset | 否 |
VideoPlayerConfig 0 方法 / 2 属性
| 属性 | 类型 | 只读 |
|---|---|---|
fit | "cover"|"contain"|"fill" | 否 |
mirror | boolean | 否 |
BeautyEffectOptions 0 方法 / 4 属性
| 属性 | 类型 | 只读 |
|---|---|---|
lighteningContrastLevel | number | 否 |
lighteningLevel | number | 否 |
rednessLevel | number | 否 |
smoothnessLevel | number | 否 |
DeviceInfo 0 方法 / 4 属性
| 属性 | 类型 | 只读 |
|---|---|---|
device | MediaDeviceInfo | 否 |
initAt | number | 否 |
state | DeviceState | 否 |
updateAt | number | 否 |
ElectronDesktopCapturerSource 0 方法 / 5 属性
| 属性 | 类型 | 只读 |
|---|---|---|
appIcon | ElectronNativeImage | 否 |
display_id | string | 否 |
id | string | 否 |
name | string | 否 |
thumbnail | ElectronNativeImage | 否 |
ElectronNativeImage 2 方法 / 0 属性
toDataURL(options?: {scaleFactor?:number}): string
toPNG(options?: {scaleFactor?:number}): Uint8Array方法明细:2 / 2(参数、返回值、错误码)
DataChannelConfig 0 方法 / 3 属性
| 属性 | 类型 | 只读 |
|---|---|---|
id | number | 否 |
metadata | string | 否 |
ordered | boolean | 否 |
IDataChannel 2 方法 / 5 属性
getChannelId(): number
getConfig(): IDataChannelConfig方法明细:2 / 2(参数、返回值、错误码)
| 属性 | 类型 | 只读 |
|---|---|---|
id | number | 是 |
maxRetransmits | number|null | 是 |
metadata | string | 是 |
ordered | boolean | 是 |
readyState | RTCDataChannelState | 是 |
ILocalDataChannel 1 方法 / 0 属性
send(data: ArrayBuffer): void方法明细:1 / 1(参数、返回值、错误码)
| 方法 | 参数 | 返回值 | 错误 |
|---|---|---|---|
send | data: ArrayBuffer | void | 错误码索引 |
IRemoteDataChannel 0 方法 / 0 属性
无公开成员。
LocalAudioTrackStats 0 方法 / 9 属性
| 属性 | 类型 | 只读 |
|---|---|---|
codecType | "opus"|"aac"|"PCMU"|"PCMA"|"G722" | 否 |
currentPacketLossRate | number | 否 |
sendBitrate | number | 否 |
sendBytes | number | 否 |
sendJitterMs | number | 否 |
sendPackets | number | 否 |
sendPacketsLost | number | 否 |
sendRttMs | number | 否 |
sendVolumeLevel | number | 否 |
LocalVideoTrackStats 0 方法 / 18 属性
| 属性 | 类型 | 只读 |
|---|---|---|
captureFrameRate | number | 否 |
captureResolutionHeight | number | 否 |
captureResolutionWidth | number | 否 |
codecType | "H264"|"H265"|"VP8"|"VP9"|"AV1X"|"AV1" | 否 |
currentPacketLossRate | number | 否 |
encodeDelay | number | 否 |
sendBitrate | number | 否 |
sendBytes | number | 否 |
sendFrameRate | number | 否 |
sendJitterMs | number | 否 |
sendPackets | number | 否 |
sendPacketsLost | number | 否 |
sendResolutionHeight | number | 否 |
sendResolutionWidth | number | 否 |
sendRttMs | number | 否 |
targetSendBitrate | number | 否 |
totalDuration | number | 否 |
totalFreezeTime | number | 否 |
RemoteAudioTrackStats 0 方法 / 16 属性
| 属性 | 类型 | 只读 |
|---|---|---|
codecType | "opus"|"aac"|"PCMU"|"PCMA"|"G722" | 否 |
currentPacketLossRate | number | 否 |
end2EndDelay | number | 否 |
freezeRate | number | 否 |
packetLossRate | number | 否 |
publishDuration | number | 否 |
receiveBitrate | number | 否 |
receiveBytes | number | 否 |
receiveDelay | number | 否 |
receiveLevel | number | 否 |
receivePackets | number | 否 |
receivePacketsDiscarded | number | 否 |
receivePacketsLost | number | 否 |
totalDuration | number | 否 |
totalFreezeTime | number | 否 |
transportDelay | number | 否 |
RemoteVideoTrackStats 0 方法 / 19 属性
| 属性 | 类型 | 只读 |
|---|---|---|
codecType | "H264"|"H265"|"VP8"|"VP9"|"AV1X"|"AV1" | 否 |
currentPacketLossRate | number | 否 |
decodeFrameRate | number | 否 |
end2EndDelay | number | 否 |
freezeRate | number | 否 |
packetLossRate | number | 否 |
publishDuration | number | 否 |
receiveBitrate | number | 否 |
receiveBytes | number | 否 |
receiveDelay | number | 否 |
receiveFrameRate | number | 否 |
receivePackets | number | 否 |
receivePacketsLost | number | 否 |
receiveResolutionHeight | number | 否 |
receiveResolutionWidth | number | 否 |
renderFrameRate | number | 否 |
totalDuration | number | 否 |
totalFreezeTime | number | 否 |
transportDelay | number | 否 |
AgoraRTCStats 0 方法 / 8 属性
| 属性 | 类型 | 只读 |
|---|---|---|
Duration | number | 否 |
OutgoingAvailableBandwidth | number | 否 |
RecvBitrate | number | 否 |
RecvBytes | number | 否 |
RTT | number | 否 |
SendBitrate | number | 否 |
SendBytes | number | 否 |
UserCount | number | 否 |
NetworkQuality 0 方法 / 2 属性
| 属性 | 类型 | 只读 |
|---|---|---|
downlinkNetworkQuality | 0|1|2|3|4|5|6 | 否 |
uplinkNetworkQuality | 0|1|2|3|4|5|6 | 否 |
LowStreamParameter 0 方法 / 4 属性
| 属性 | 类型 | 只读 |
|---|---|---|
bitrate | number | 否 |
framerate | ConstrainULong | 否 |
height | ConstrainULong | 否 |
width | ConstrainULong | 否 |
IAudioProcessor 0 方法 / 0 属性
无公开成员。
IBaseProcessor 0 方法 / 0 属性
无公开成员。
IAudioExtension 0 方法 / 0 属性
无公开成员。
IVideoExtension 0 方法 / 0 属性
无公开成员。
IExtension 0 方法 / 0 属性
无公开成员。
IAgoraRTCRemoteUser 0 方法 / 6 属性
| 属性 | 类型 | 只读 |
|---|---|---|
audioTrack | IRemoteAudioTrack | 否 |
dataChannels | IRemoteDataChannel[] | 否 |
hasAudio | boolean | 否 |
hasVideo | boolean | 否 |
uid | UID | 否 |
videoTrack | IRemoteVideoTrack | 否 |
ITrack 5 方法 / 2 属性
getMediaStreamTrack(): MediaStreamTrack
getRTCRtpTransceiver(type?: StreamType): RTCRtpTransceiver|undefined
getTrackId(): string
play(element?: string|HTMLElement): void
stop(): void方法明细:5 / 5(参数、返回值、错误码)
| 方法 | 参数 | 返回值 | 错误 |
|---|---|---|---|
getMediaStreamTrack | — | MediaStreamTrack | 错误码索引 |
getRTCRtpTransceiver | type?: StreamType | RTCRtpTransceiver|undefined | 错误码索引 |
getTrackId | — | string | 错误码索引 |
play | element?: string|HTMLElement | void | 错误码索引 |
stop | — | void | 错误码索引 |
| 属性 | 类型 | 只读 |
|---|---|---|
isPlaying | boolean | 否 |
trackMediaType | "audio"|"video" | 否 |
ILocalTrack 5 方法 / 2 属性
close(): void
getStats(): LocalVideoTrackStats|LocalAudioTrackStats
getTrackLabel(): string
setEnabled(enabled: boolean): Promise<void>
setMuted(muted: boolean): Promise<void>方法明细:5 / 5(参数、返回值、错误码)
| 方法 | 参数 | 返回值 | 错误 |
|---|---|---|---|
close | — | void | 错误码索引 |
getStats | — | LocalVideoTrackStats|LocalAudioTrackStats | 错误码索引 |
getTrackLabel | — | string | 错误码索引 |
setEnabled | enabled: boolean | Promise<void> | 错误码索引 |
setMuted | muted: boolean | Promise<void> | 错误码索引 |
| 属性 | 类型 | 只读 |
|---|---|---|
enabled | boolean | 否 |
muted | boolean | 否 |
| 事件名 | 回调参数 |
|---|---|
track-ended | () |
track-updated | track:MediaStreamTrack |
transceiver-updated | transceiver:RTCRtpTransceiver,type?:StreamType |
ILocalAudioTrack 12 方法 / 1 属性
addReferenceTrack(track: ILocalAudioTrack|IRemoteAudioTrack): void
getStats(): LocalAudioTrackStats
getVolumeLevel(): number
pipe(processor: IAudioProcessor): IAudioProcessor
play(): void
removeExtension(extension: IAudioExtension): boolean
removeReferenceTrack(track: ILocalAudioTrack|IRemoteAudioTrack): boolean
setAudioFrameCallback(audioFrameCallback: null|((buffer:AudioBuffer)=>void), frameSize?: number): void
setPlaybackDevice(deviceId: string): Promise<void>
setVolume(volume: number): void
unpipe(): void
useExtension(extensionCtor: AudioExtensionConstructor<T>, extensionOptions?: Record<string,unknown>): T方法明细:12 / 12(参数、返回值、错误码)
| 方法 | 参数 | 返回值 | 错误 |
|---|---|---|---|
addReferenceTrack | track: ILocalAudioTrack|IRemoteAudioTrack | void | 错误码索引 |
getStats | — | LocalAudioTrackStats | 错误码索引 |
getVolumeLevel | — | number | 错误码索引 |
pipe | processor: IAudioProcessor | IAudioProcessor | 错误码索引 |
play | — | void | 错误码索引 |
removeExtension | extension: IAudioExtension | boolean | 错误码索引 |
removeReferenceTrack | track: ILocalAudioTrack|IRemoteAudioTrack | boolean | 错误码索引 |
setAudioFrameCallback | audioFrameCallback: null|((buffer:AudioBuffer)=>void), frameSize?: number | void | 错误码索引 |
setPlaybackDevice | deviceId: string | Promise<void> | 错误码索引 |
setVolume | volume: number | void | 错误码索引 |
unpipe | — | void | 错误码索引 |
useExtension | extensionCtor: AudioExtensionConstructor<T>, extensionOptions?: Record<string,unknown> | T | 错误码索引 |
| 属性 | 类型 | 只读 |
|---|---|---|
processorDestination | IAudioProcessor | 否 |
ILocalVideoTrack 15 方法 / 1 属性
clone(config?: VideoEncoderConfiguration|VideoEncoderConfigurationPreset, cloneTrack?: boolean): ILocalVideoTrack
getCurrentFrameData(): ImageData
getCurrentFrameImage(imageType: string, quality: number): Promise<ImageTypedData>
getStats(): LocalVideoTrackStats
getVideoElementVisibleStatus(): CheckVideoVisibleResult|undefined
pipe(processor: IBaseProcessor): IBaseProcessor
play(element: string|HTMLElement, config?: VideoPlayerConfig): void
removeExtension(extension: IVideoExtension): boolean
replaceTrack(track: MediaStreamTrack, stopOldTrack: boolean): Promise<void>
sendSeiData(sei: Uint8Array): void
setBeautyEffect(enabled: boolean, options?: BeautyEffectOptions): Promise<void>
setEncoderConfiguration(config: VideoEncoderConfiguration|VideoEncoderConfigurationPreset): Promise<void>
setOptimizationMode(mode: OptimizationMode): Promise<void>
unpipe(): void
useExtension(extensionCtor: T, options?: {extensionOptions?:Record<string,unknown>;moduleURL?:string;registrationName?:string}): InstanceType<T>方法明细:15 / 15(参数、返回值、错误码)
| 方法 | 参数 | 返回值 | 错误 |
|---|---|---|---|
clone | config?: VideoEncoderConfiguration|VideoEncoderConfigurationPreset, cloneTrack?: boolean | ILocalVideoTrack | 错误码索引 |
getCurrentFrameData | — | ImageData | 错误码索引 |
getCurrentFrameImage | imageType: string, quality: number | Promise<ImageTypedData> | 错误码索引 |
getStats | — | LocalVideoTrackStats | 错误码索引 |
getVideoElementVisibleStatus | — | CheckVideoVisibleResult|undefined | 错误码索引 |
pipe | processor: IBaseProcessor | IBaseProcessor | 错误码索引 |
play | element: string|HTMLElement, config?: VideoPlayerConfig | void | 错误码索引 |
removeExtension | extension: IVideoExtension | boolean | 错误码索引 |
replaceTrack | track: MediaStreamTrack, stopOldTrack: boolean | Promise<void> | 错误码索引 |
sendSeiData | sei: Uint8Array | void | 错误码索引 |
setBeautyEffect | enabled: boolean, options?: BeautyEffectOptions | Promise<void> | 错误码索引 |
setEncoderConfiguration | config: VideoEncoderConfiguration|VideoEncoderConfigurationPreset | Promise<void> | 错误码索引 |
setOptimizationMode | mode: OptimizationMode | Promise<void> | 错误码索引 |
unpipe | — | void | 错误码索引 |
useExtension | extensionCtor: T, options?: {extensionOptions?:Record<string,unknown>;moduleURL?:string;registrationName?:string} | InstanceType<T> | 错误码索引 |
| 属性 | 类型 | 只读 |
|---|---|---|
processorDestination | IBaseProcessor | 否 |
| 事件名 | 回调参数 |
|---|---|
track-ended | () |
track-updated | track:MediaStreamTrack |
transceiver-updated | transceiver:RTCRtpTransceiver,type?:StreamType |
video-element-visible-status | data?:CheckVideoVisibleResult |
IMicrophoneAudioTrack 2 方法 / 0 属性
setDevice(deviceId: string): Promise<void>
setEnabled(enabled: boolean): Promise<void>方法明细:2 / 2(参数、返回值、错误码)
ICameraVideoTrack 3 方法 / 0 属性
clone(config?: VideoEncoderConfiguration|VideoEncoderConfigurationPreset, cloneTrack?: boolean): ICameraVideoTrack
setDevice(deviceId: string|RequiredOnlyOneOf<{facingMode:VideoFacingModeEnum;deviceId:string}>): Promise<void>
setEnabled(enabled: boolean): Promise<void>方法明细:3 / 3(参数、返回值、错误码)
IBufferSourceAudioTrack 8 方法 / 2 属性
getCurrentTime(): number
getDuration(): number
on(event: string, listener: Function): void
pause(): void
resume(): void
seek(offset: number): void
start(): void
stop(): void方法明细:8 / 8(参数、返回值、错误码)
| 方法 | 参数 | 返回值 | 错误 |
|---|---|---|---|
getCurrentTime | — | number | 错误码索引 |
getDuration | — | number | 错误码索引 |
on | event: string, listener: Function | void | 错误码索引 |
pause | — | void | 错误码索引 |
resume | — | void | 错误码索引 |
seek | offset: number | void | 错误码索引 |
start | — | void | 错误码索引 |
stop | — | void | 错误码索引 |
| 属性 | 类型 | 只读 |
|---|---|---|
cacheOnline | boolean | 否 |
source | AudioBufferSourceNode | 否 |
| 事件名 | 回调参数 |
|---|---|
source-state-change | currentState:AudioSourceState |
track-ended | () |
track-updated | track:MediaStreamTrack |
transceiver-updated | transceiver:RTCRtpTransceiver,type?:StreamType |
IRemoteTrack 2 方法 / 0 属性
getStats(): RemoteAudioTrackStats|RemoteVideoTrackStats
getUserId(): UID方法明细:2 / 2(参数、返回值、错误码)
| 事件名 | 回调参数 |
|---|---|
first-frame-decoded | () |
track-updated | track:MediaStreamTrack |
transceiver-updated | transceiver:RTCRtpTransceiver |
IRemoteAudioTrack 14 方法 / 1 属性
addReferenceTrack(track: ILocalAudioTrack|IRemoteAudioTrack): void
getStats(): RemoteAudioTrackStats
getVolume(): number
getVolumeLevel(): number
pipe(processor: IAudioProcessor): IAudioProcessor
play(): void
removeExtension(extension: IAudioExtension): boolean
removeReferenceTrack(track: ILocalAudioTrack|IRemoteAudioTrack): boolean
setAmplifiedVolume(volume: number): void
setAudioFrameCallback(audioFrameCallback: null|((buffer:AudioBuffer)=>void), frameSize?: number): void
setPlaybackDevice(deviceId: string): Promise<void>
setVolume(volume: number): void
unpipe(): void
useExtension(extensionCtor: AudioExtensionConstructor<T>): T方法明细:14 / 14(参数、返回值、错误码)
| 方法 | 参数 | 返回值 | 错误 |
|---|---|---|---|
addReferenceTrack | track: ILocalAudioTrack|IRemoteAudioTrack | void | 错误码索引 |
getStats | — | RemoteAudioTrackStats | 错误码索引 |
getVolume | — | number | 错误码索引 |
getVolumeLevel | — | number | 错误码索引 |
pipe | processor: IAudioProcessor | IAudioProcessor | 错误码索引 |
play | — | void | 错误码索引 |
removeExtension | extension: IAudioExtension | boolean | 错误码索引 |
removeReferenceTrack | track: ILocalAudioTrack|IRemoteAudioTrack | boolean | 错误码索引 |
setAmplifiedVolume | volume: number | void | 错误码索引 |
setAudioFrameCallback | audioFrameCallback: null|((buffer:AudioBuffer)=>void), frameSize?: number | void | 错误码索引 |
setPlaybackDevice | deviceId: string | Promise<void> | 错误码索引 |
setVolume | volume: number | void | 错误码索引 |
unpipe | — | void | 错误码索引 |
useExtension | extensionCtor: AudioExtensionConstructor<T> | T | 错误码索引 |
| 属性 | 类型 | 只读 |
|---|---|---|
processorDestination | IAudioProcessor | 否 |
IRemoteVideoTrack 8 方法 / 1 属性
getCurrentFrameData(): ImageData
getStats(): RemoteVideoTrackStats
getVideoElementVisibleStatus(): CheckVideoVisibleResult|undefined
pipe(processor: IBaseProcessor): IBaseProcessor
play(element: string|HTMLElement, config?: VideoPlayerConfig): void
removeExtension(extension: IVideoExtension): boolean
unpipe(): void
useExtension(extensionCtor: T, options?: {extensionOptions?:Record<string,unknown>;moduleURL?:string;registrationName?:string}): InstanceType<T>方法明细:8 / 8(参数、返回值、错误码)
| 方法 | 参数 | 返回值 | 错误 |
|---|---|---|---|
getCurrentFrameData | — | ImageData | 错误码索引 |
getStats | — | RemoteVideoTrackStats | 错误码索引 |
getVideoElementVisibleStatus | — | CheckVideoVisibleResult|undefined | 错误码索引 |
pipe | processor: IBaseProcessor | IBaseProcessor | 错误码索引 |
play | element: string|HTMLElement, config?: VideoPlayerConfig | void | 错误码索引 |
removeExtension | extension: IVideoExtension | boolean | 错误码索引 |
unpipe | — | void | 错误码索引 |
useExtension | extensionCtor: T, options?: {extensionOptions?:Record<string,unknown>;moduleURL?:string;registrationName?:string} | InstanceType<T> | 错误码索引 |
| 属性 | 类型 | 只读 |
|---|---|---|
processorDestination | IBaseProcessor | 否 |
| 事件名 | 回调参数 |
|---|---|
first-frame-decoded | () |
sei-received | sei:Uint8Array,rtpTimestamp?:number |
track-updated | track:MediaStreamTrack |
transceiver-updated | transceiver:RTCRtpTransceiver |
video-element-visible-status | data?:CheckVideoVisibleResult |
video-state-changed | videoState:VideoState |
ImageTypedData 0 方法 / 2 属性
| 属性 | 类型 | 只读 |
|---|---|---|
data | Blob|ArrayBuffer | 否 |
type | string | 否 |
VisibleResultInner 0 方法 / 2 属性
| 属性 | 类型 | 只读 |
|---|---|---|
reason | string | 否 |
visible | true | 否 |
VisibleHiddenResult 0 方法 / 2 属性
| 属性 | 类型 | 只读 |
|---|---|---|
reason | string | 否 |
visible | false | 否 |
LiveStreamingTranscodingConfig 0 方法 / 15 属性
| 属性 | 类型 | 只读 |
|---|---|---|
audioBitrate | number | 否 |
audioChannels | number | 否 |
audioCodecProfile | number | 否 |
audioSampleRate | number | 否 |
backgroundColor | string | 否 |
backgroundImage | unknown | 否 |
height | number | 否 |
transcodingExtraInfo | string | 否 |
transcodingUsers | LiveStreamingTranscodingUser[] | 否 |
userConfigExtraInfo | string | 否 |
videoBitrate | number | 否 |
videoCodecProfile | number | 否 |
videoGop | number | 否 |
watermark | unknown | 否 |
width | number | 否 |
LiveStreamingTranscodingUser 0 方法 / 8 属性
| 属性 | 类型 | 只读 |
|---|---|---|
alpha | number | 否 |
audioChannel | number | 否 |
height | number | 否 |
uid | UID | 否 |
width | number | 否 |
x | number | 否 |
y | number | 否 |
zOrder | number | 否 |
LastmileProbeResult 0 方法 / 4 属性
| 属性 | 类型 | 只读 |
|---|---|---|
downlinkNetworkQuality | number | 否 |
rtt | number | 否 |
state | "complete"|"unavailable" | 否 |
uplinkNetworkQuality | number | 否 |
EventCustomReportParams 0 方法 / 3 属性
| 属性 | 类型 | 只读 |
|---|---|---|
eventName | string | 否 |
eventType | number | 否 |
extParams | Record<string,string> | 否 |
ChannelMediaRelayInfo 0 方法 / 3 属性
| 属性 | 类型 | 只读 |
|---|---|---|
channelName | string | 否 |
token | string | 否 |
uid | UID | 否 |
ChannelMediaRelayConfiguration 5 方法 / 0 属性
getDestChannelInfo(channelName: string): ChannelMediaRelayInfo
getSrcChannelInfo(): ChannelMediaRelayInfo
removeDestChannelInfo(channelName: string): void
setDestChannelInfo(channelName: string, info: ChannelMediaRelayInfo): void
setSrcChannelInfo(info: ChannelMediaRelayInfo): void方法明细:5 / 5(参数、返回值、错误码)
IAgoraRTCServicePlugin 0 方法 / 3 属性
| 属性 | 类型 | 只读 |
|---|---|---|
create | (...args:any[])=>T | 否 |
createSubmodule | (...args:any[])=>R | 否 |
name | string | 否 |
IAgoraRTCClient 44 方法 / 8 属性
disableDualStream(): Promise<void>
enableAudioVolumeIndicator(): void
enableDualStream(): Promise<void>
getLocalAudioStats(): LocalAudioTrackStats
getLocalVideoStats(): LocalVideoTrackStats
getNetworkQuality(): NetworkQuality
getNtpWallTimeInMs(): number
getRTCStats(): AgoraRTCStats
getRemoteAudioStats(): {[uid:string]:RemoteAudioTrackStats}
getRemoteNetworkQuality(): {[uid:string]:NetworkQuality}
getRemoteVideoStats(): {[uid:string]:RemoteVideoTrackStats}
join(appid: string, channel: string, token: string|null, uid?: UID|null, options?: {autoSubscribe?:boolean;autoReceiveAndPlayAudio?:boolean;networkQualityProbe?:boolean}): Promise<UID>
leave(): Promise<void>
massSubscribe(subscribeList: {user:IAgoraRTCRemoteUser;mediaType:"audio"|"video"}[]): Promise<{user:IAgoraRTCRemoteUser;mediaType:"audio"|"video";track?:IRemoteTrack;error?:AgoraRTCError}[]>
massUnsubscribe(unsubscribeList: {user:IAgoraRTCRemoteUser;mediaType?:"audio"|"video"}[]): Promise<void>
on(event: string, listener: Function): void
pickSVCLayer(uid: UID, layerOptions: {spatialLayer:0|1|2|3;temporalLayer:0|1|2|3}): Promise<void>
presubscribe(uid: UID, mediaType: "audio"): Promise<IRemoteAudioTrack>
presubscribe(uid: UID, mediaType: "video"): Promise<IRemoteVideoTrack>
presubscribe(uid: UID, mediaType: "video"|"audio"): Promise<IRemoteTrack>
publish(tracks: ILocalTrack|ILocalTrack[]): Promise<void>
publish(config: IDataChannelConfig): Promise<ILocalDataChannel>
publish(params: ILocalTrack|ILocalTrack[]|IDataChannelConfig): Promise<ILocalDataChannel|void>
renewToken(token: string): Promise<void>
sendCustomReportMessage(reports: EventCustomReportParams[]|EventCustomReportParams): Promise<void>
setClientRole(role: ClientRole, options?: ClientRoleOptions): Promise<void>
setDualStreamMode(mode: SIMULCAST_STREAM_MODE, streamParameter?: LowStreamParameter): Promise<void>
setEncryptionConfig(encryptionMode: EncryptionMode, secret: string, salt?: Uint8Array, encryptDataStream?: boolean): void
setLicense(license: string): void
setLiveTranscoding(config: LiveStreamingTranscodingConfig): Promise<void>
setLocalAccessPointsV2(config: LocalAccessPointConfig): void
setLowStreamParameter(streamParameter: LowStreamParameter): void
setProxyServer(proxyServer: string): void
setRTMConfig(config: RTMConfiguration): Promise<void>
setRemoteDefaultVideoStreamType(streamType: RemoteStreamType): Promise<void>
setRemoteVideoStreamType(uid: UID, streamType: RemoteStreamType): Promise<void>
setStreamFallbackOption(uid: UID, fallbackType: RemoteStreamFallbackType): Promise<void>
setTurnServer(turnServer: TurnServerConfig): void
startChannelMediaRelay(config: IChannelMediaRelayConfiguration): Promise<void>
startLiveStreaming(url: string, transcodingEnabled?: boolean): Promise<void>
startProxyServer(mode?: number): void
stopChannelMediaRelay(): Promise<void>
stopLiveStreaming(url: string): Promise<void>
stopProxyServer(): void
subscribe(user: IAgoraRTCRemoteUser|UID, mediaType: "video"): Promise<IRemoteVideoTrack>
subscribe(user: IAgoraRTCRemoteUser|UID, mediaType: "audio"): Promise<IRemoteAudioTrack>
subscribe(user: IAgoraRTCRemoteUser|UID, mediaType: "datachannel", channelId: number): Promise<IRemoteDataChannel>
subscribe(user: IAgoraRTCRemoteUser|UID, mediaType: "video"|"audio"|"datachannel", channelId?: number): Promise<IRemoteTrack|IRemoteDataChannel>
unpublish(tracks?: ILocalTrack|ILocalTrack[]): Promise<void>
unpublish(dataChannel?: ILocalDataChannel): Promise<void>
unpublish(params?: ILocalTrack|ILocalTrack[]|ILocalDataChannel): Promise<void>
unsubscribe(user: IAgoraRTCRemoteUser|UID, mediaType?: "video"|"audio"|"datachannel", channelId?: number): Promise<void>
updateChannelMediaRelay(config: IChannelMediaRelayConfiguration): Promise<void>方法明细:44 / 44(参数、返回值、错误码)
| 方法 | 参数 | 返回值 | 错误 |
|---|---|---|---|
disableDualStream | — | Promise<void> | 错误码索引 |
enableAudioVolumeIndicator | — | void | 错误码索引 |
enableDualStream | — | Promise<void> | 错误码索引 |
getLocalAudioStats | — | LocalAudioTrackStats | 错误码索引 |
getLocalVideoStats | — | LocalVideoTrackStats | 错误码索引 |
getNetworkQuality | — | NetworkQuality | 错误码索引 |
getNtpWallTimeInMs | — | number | 错误码索引 |
getRTCStats | — | AgoraRTCStats | 错误码索引 |
getRemoteAudioStats | — | {[uid:string]:RemoteAudioTrackStats} | 错误码索引 |
getRemoteNetworkQuality | — | {[uid:string]:NetworkQuality} | 错误码索引 |
getRemoteVideoStats | — | {[uid:string]:RemoteVideoTrackStats} | 错误码索引 |
join | appid: string, channel: string, token: string|null, uid?: UID|null, options?: {autoSubscribe?:boolean;autoReceiveAndPlayAudio?:boolean;networkQualityProbe?:boolean} | Promise<UID> | 错误码索引 |
leave | — | Promise<void> | 错误码索引 |
massSubscribe | subscribeList: {user:IAgoraRTCRemoteUser;mediaType:"audio"|"video"}[] | Promise<{user:IAgoraRTCRemoteUser;mediaType:"audio"|"video";track?:IRemoteTrack;error?:AgoraRTCError}[]> | 错误码索引 |
massUnsubscribe | unsubscribeList: {user:IAgoraRTCRemoteUser;mediaType?:"audio"|"video"}[] | Promise<void> | 错误码索引 |
on | event: string, listener: Function | void | 错误码索引 |
pickSVCLayer | uid: UID, layerOptions: {spatialLayer:0|1|2|3;temporalLayer:0|1|2|3} | Promise<void> | 错误码索引 |
presubscribe | uid: UID, mediaType: "audio" | Promise<IRemoteAudioTrack> | 错误码索引 |
publish | tracks: ILocalTrack|ILocalTrack[] | Promise<void> | 错误码索引 |
renewToken | token: string | Promise<void> | 错误码索引 |
sendCustomReportMessage | reports: EventCustomReportParams[]|EventCustomReportParams | Promise<void> | 错误码索引 |
setClientRole | role: ClientRole, options?: ClientRoleOptions | Promise<void> | 错误码索引 |
setDualStreamMode | mode: SIMULCAST_STREAM_MODE, streamParameter?: LowStreamParameter | Promise<void> | 错误码索引 |
setEncryptionConfig | encryptionMode: EncryptionMode, secret: string, salt?: Uint8Array, encryptDataStream?: boolean | void | 错误码索引 |
setLicense | license: string | void | 错误码索引 |
setLiveTranscoding | config: LiveStreamingTranscodingConfig | Promise<void> | 错误码索引 |
setLocalAccessPointsV2 | config: LocalAccessPointConfig | void | 错误码索引 |
setLowStreamParameter | streamParameter: LowStreamParameter | void | 错误码索引 |
setProxyServer | proxyServer: string | void | 错误码索引 |
setRTMConfig | config: RTMConfiguration | Promise<void> | 错误码索引 |
setRemoteDefaultVideoStreamType | streamType: RemoteStreamType | Promise<void> | 错误码索引 |
setRemoteVideoStreamType | uid: UID, streamType: RemoteStreamType | Promise<void> | 错误码索引 |
setStreamFallbackOption | uid: UID, fallbackType: RemoteStreamFallbackType | Promise<void> | 错误码索引 |
setTurnServer | turnServer: TurnServerConfig | void | 错误码索引 |
startChannelMediaRelay | config: IChannelMediaRelayConfiguration | Promise<void> | 错误码索引 |
startLiveStreaming | url: string, transcodingEnabled?: boolean | Promise<void> | 错误码索引 |
startProxyServer | mode?: number | void | 错误码索引 |
stopChannelMediaRelay | — | Promise<void> | 错误码索引 |
stopLiveStreaming | url: string | Promise<void> | 错误码索引 |
stopProxyServer | — | void | 错误码索引 |
subscribe | user: IAgoraRTCRemoteUser|UID, mediaType: "video" | Promise<IRemoteVideoTrack> | 错误码索引 |
unpublish | tracks?: ILocalTrack|ILocalTrack[] | Promise<void> | 错误码索引 |
unsubscribe | user: IAgoraRTCRemoteUser|UID, mediaType?: "video"|"audio"|"datachannel", channelId?: number | Promise<void> | 错误码索引 |
updateChannelMediaRelay | config: IChannelMediaRelayConfiguration | Promise<void> | 错误码索引 |
| 属性 | 类型 | 只读 |
|---|---|---|
channelName | string | 是 |
connectionState | ConnectionState | 是 |
localDataChannels | ILocalDataChannel[] | 是 |
localTracks | ILocalTrack[] | 是 |
mode | SDK_MODE | 是 |
remoteUsers | IAgoraRTCRemoteUser[] | 是 |
role | ClientRole | 是 |
uid | UID | 是 |
| 事件名 | 回调参数 |
|---|---|
channel-media-relay-event | event:ChannelMediaRelayEvent |
channel-media-relay-state | state:ChannelMediaRelayState,code:ChannelMediaRelayError |
connection-state-change | curState:ConnectionState,revState:ConnectionState,reason?:ConnectionDisconnectedReason |
crypt-error | () |
exception | event:{code:number;msg:string;uid:UID} |
is-using-cloud-proxy | isUsingProxy:boolean |
join-fallback-to-proxy | proxyServer:string |
live-streaming-error | url:string,err:AgoraRTCError |
live-streaming-warning | url:string,warning:AgoraRTCError |
media-reconnect-end | uid:UID |
media-reconnect-start | uid:UID |
network-quality | stats:NetworkQuality |
peerconnection-state-change | curState:RTCPeerConnectionState,revState:RTCPeerConnectionState |
published-user-list | users:IAgoraRTCRemoteUser[] |
stream-fallback | uid:UID,isFallbackOrRecover:"fallback"|"recover" |
stream-message | uid:UID,payload:Uint8Array |
stream-type-changed | uid:UID,streamType:RemoteStreamType |
token-privilege-did-expire | () |
token-privilege-will-expire | () |
user-info-updated | uid:UID,msg:|"mute-audio"|"mute-video"|"enable-local-video"|"unmute-audio"|"unmute-video"|"disable-local-video" |
user-joined | user:IAgoraRTCRemoteUser |
user-left | user:IAgoraRTCRemoteUser,reason:string |
user-published | user:IAgoraRTCRemoteUser,mediaType:"audio"|"video"|"datachannel",config?:IDataChannelConfig |
user-unpublished | user:IAgoraRTCRemoteUser,mediaType:"audio"|"video"|"datachannel",config?:IDataChannelConfig |
volume-indicator | result:{level:number;uid:UID}[] |
IAgoraRTC 29 方法 / 8 属性
checkAudioTrackIsActive(track: ILocalAudioTrack|IRemoteAudioTrack, timeout?: number): Promise<boolean>
checkSystemRequirements(): boolean
checkVideoTrackIsActive(track: ILocalVideoTrack|IRemoteVideoTrack, timeout?: number): Promise<boolean>
createBufferSourceAudioTrack(config: BufferSourceAudioTrackInitConfig): Promise<IBufferSourceAudioTrack>
createCameraVideoTrack(config?: CameraVideoTrackInitConfig): Promise<ICameraVideoTrack>
createChannelMediaRelayConfiguration(): IChannelMediaRelayConfiguration
createClient(config: ClientConfig): IAgoraRTCClient
createCustomAudioTrack(config: CustomAudioTrackInitConfig): ILocalAudioTrack
createCustomVideoTrack(config: CustomVideoTrackInitConfig): ILocalVideoTrack
createMicrophoneAndCameraTracks(audioConfig?: MicrophoneAudioTrackInitConfig, videoConfig?: CameraVideoTrackInitConfig): Promise<[IMicrophoneAudioTrack,ICameraVideoTrack]>
createMicrophoneAudioTrack(config?: MicrophoneAudioTrackInitConfig): Promise<IMicrophoneAudioTrack>
createScreenVideoTrack(config: ScreenVideoTrackInitConfig, withAudio: "enable"): Promise<[ILocalVideoTrack,ILocalAudioTrack]>
createScreenVideoTrack(config: ScreenVideoTrackInitConfig, withAudio: "disable"): Promise<ILocalVideoTrack>
createScreenVideoTrack(config: ScreenVideoTrackInitConfig, withAudio?: "enable"|"disable"|"auto"|ScreenAudioTrackInitConfig): Promise<[ILocalVideoTrack,ILocalAudioTrack]|ILocalVideoTrack>
disableLogUpload(): void
enableLogUpload(): void
getCameras(skipPermissionCheck?: boolean): Promise<MediaDeviceInfo[]>
getDevices(skipPermissionCheck?: boolean): Promise<MediaDeviceInfo[]>
getElectronScreenSources(type?: ScreenSourceType): Promise<ElectronDesktopCapturerSource[]>
getMicrophones(skipPermissionCheck?: boolean): Promise<MediaDeviceInfo[]>
getPlaybackDevices(skipPermissionCheck?: boolean): Promise<MediaDeviceInfo[]>
getSupportedCodec(): Promise<{video:string[];audio:string[]}>
preload(appid: string, channel: string, token: string|null, uid?: UID|null): Promise<void>
processExternalMediaAEC(element: HTMLMediaElement): void
registerExtensions(extensions: IExtension<any>[]): void
resumeAudioContext(): void
setAppType(type: AppType): void
setArea(area: AREAS[]|{areaCode:AREAS[];excludedArea?:AREAS}): void
setLogLevel(level: number): void
startLastmileProbeTest(appid: string, channel: string, token: string|null, uid?: UID|null): Promise<LastmileProbeResult>
use(plugin: IAgoraRTCServicePlugin): IAgoraRTC方法明细:29 / 29(参数、返回值、错误码)
| 方法 | 参数 | 返回值 | 错误 |
|---|---|---|---|
checkAudioTrackIsActive | track: ILocalAudioTrack|IRemoteAudioTrack, timeout?: number | Promise<boolean> | 错误码索引 |
checkSystemRequirements | — | boolean | 错误码索引 |
checkVideoTrackIsActive | track: ILocalVideoTrack|IRemoteVideoTrack, timeout?: number | Promise<boolean> | 错误码索引 |
createBufferSourceAudioTrack | config: BufferSourceAudioTrackInitConfig | Promise<IBufferSourceAudioTrack> | 错误码索引 |
createCameraVideoTrack | config?: CameraVideoTrackInitConfig | Promise<ICameraVideoTrack> | 错误码索引 |
createChannelMediaRelayConfiguration | — | IChannelMediaRelayConfiguration | 错误码索引 |
createClient | config: ClientConfig | IAgoraRTCClient | 错误码索引 |
createCustomAudioTrack | config: CustomAudioTrackInitConfig | ILocalAudioTrack | 错误码索引 |
createCustomVideoTrack | config: CustomVideoTrackInitConfig | ILocalVideoTrack | 错误码索引 |
createMicrophoneAndCameraTracks | audioConfig?: MicrophoneAudioTrackInitConfig, videoConfig?: CameraVideoTrackInitConfig | Promise<[IMicrophoneAudioTrack,ICameraVideoTrack]> | 错误码索引 |
createMicrophoneAudioTrack | config?: MicrophoneAudioTrackInitConfig | Promise<IMicrophoneAudioTrack> | 错误码索引 |
createScreenVideoTrack | config: ScreenVideoTrackInitConfig, withAudio: "enable" | Promise<[ILocalVideoTrack,ILocalAudioTrack]> | 错误码索引 |
disableLogUpload | — | void | 错误码索引 |
enableLogUpload | — | void | 错误码索引 |
getCameras | skipPermissionCheck?: boolean | Promise<MediaDeviceInfo[]> | 错误码索引 |
getDevices | skipPermissionCheck?: boolean | Promise<MediaDeviceInfo[]> | 错误码索引 |
getElectronScreenSources | type?: ScreenSourceType | Promise<ElectronDesktopCapturerSource[]> | 错误码索引 |
getMicrophones | skipPermissionCheck?: boolean | Promise<MediaDeviceInfo[]> | 错误码索引 |
getPlaybackDevices | skipPermissionCheck?: boolean | Promise<MediaDeviceInfo[]> | 错误码索引 |
getSupportedCodec | — | Promise<{video:string[];audio:string[]}> | 错误码索引 |
preload | appid: string, channel: string, token: string|null, uid?: UID|null | Promise<void> | 错误码索引 |
processExternalMediaAEC | element: HTMLMediaElement | void | 错误码索引 |
registerExtensions | extensions: IExtension<any>[] | void | 错误码索引 |
resumeAudioContext | — | void | 错误码索引 |
setAppType | type: AppType | void | 错误码索引 |
setArea | area: AREAS[]|{areaCode:AREAS[];excludedArea?:AREAS} | void | 错误码索引 |
setLogLevel | level: number | void | 错误码索引 |
startLastmileProbeTest | appid: string, channel: string, token: string|null, uid?: UID|null | Promise<LastmileProbeResult> | 错误码索引 |
use | plugin: IAgoraRTCServicePlugin | IAgoraRTC | 错误码索引 |
| 属性 | 类型 | 只读 |
|---|---|---|
onAudioAutoplayFailed | ()=>void | 否 |
onAudioContextStateChanged | (currState:AudioContextState|"interrupted",prevState:AudioContextState|"interrupted"|undefined)=>void | 否 |
onAutoplayFailed | ()=>void | 否 |
onCameraChanged | (deviceInfo:DeviceInfo)=>void | 否 |
onMicrophoneChanged | (deviceInfo:DeviceInfo)=>void | 否 |
onPlaybackDeviceChanged | (deviceInfo:DeviceInfo)=>void | 否 |
onSecurityPolicyViolation | (event:SecurityPolicyViolationEvent)=>void | 否 |
VERSION | string | 否 |
| 事件名 | 回调参数 |
|---|---|
audio-context-state-changed | currState:AudioContextState|"interrupted",prevState:AudioContextState|"interrupted"|undefined |
autoplay-failed | () |
camera-changed | deviceInfo:DeviceInfo |
microphone-changed | deviceInfo:DeviceInfo |
playback-device-changed | deviceInfo:DeviceInfo |
security-policy-violation | () |
枚举
该端 SDK 没有独立枚举(Web SDK 用字符串联合类型表达)。
错误码常量
| 常量 | 值 |
|---|---|
ADD_CANDIDATE_FAILED | ADD_CANDIDATE_FAILED |
API_INVOKE_TIMEOUT | API_INVOKE_TIMEOUT |
BEAUTY_PROCESSOR_INTERNAL_ERROR | BEAUTY_PROCESSOR_INTERNAL_ERROR |
CAN_NOT_GET_GATEWAY_SERVER | CAN_NOT_GET_GATEWAY_SERVER |
CAN_NOT_GET_PROXY_SERVER | CAN_NOT_GET_PROXY_SERVER |
CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS | CAN_NOT_PUBLISH_MULTIPLE_VIDEO_TRACKS |
CHROME_PLUGIN_NOT_INSTALL | CHROME_PLUGIN_NOT_INSTALL |
CHROME_PLUGIN_NO_RESPONSE | CHROME_PLUGIN_NO_RESPONSE |
CONSTRAINT_NOT_SATISFIED | CONSTRAINT_NOT_SATISFIED |
CONVERTING_IMAGEDATA_TO_BLOB_FAILED | CONVERTING_IMAGEDATA_TO_BLOB_FAILED |
CONVERTING_VIDEO_FRAME_TO_BLOB_FAILED | CONVERTING_VIDEO_FRAME_TO_BLOB_FAILED |
CREATE_DATACHANNEL_ERROR | CREATE_DATACHANNEL_ERROR |
CREATE_OFFER_FAILED | CREATE_OFFER_FAILED |
CROSS_CHANNEL_FAILED_JOIN_DEST | CROSS_CHANNEL_FAILED_JOIN_DEST |
CROSS_CHANNEL_FAILED_JOIN_SRC | CROSS_CHANNEL_FAILED_JOIN_SEC |
CROSS_CHANNEL_FAILED_PACKET_SENT_TO_DEST | CROSS_CHANNEL_FAILED_PACKET_SENT_TO_DEST |
CROSS_CHANNEL_SERVER_ERROR_RESPONSE | CROSS_CHANNEL_SERVER_ERROR_RESPONSE |
CROSS_CHANNEL_WAIT_STATUS_ERROR | CROSS_CHANNEL_WAIT_STATUS_ERROR |
CUSTOM_REPORT_FREQUENCY_TOO_HIGH | CUSTOM_REPORT_FREQUENCY_TOO_HIGH |
CUSTOM_REPORT_SEND_FAILED | CUSTOM_REPORT_SEND_FAILED |
DATACHANNEL_CONNECTION_TIMEOUT | DATACHANNEL_CONNECTION_TIMEOUT |
DATACHANNEL_FAILED | DATACHANNEL_FAILED |
DECODE_AUDIO_FILE_FAILED | DECODE_AUDIO_FILE_FAILED |
DEVICE_NOT_FOUND | DEVICE_NOT_FOUND |
DISCONNECT_P2P | DISCONNECT_P2P |
ELECTRON_DESKTOP_CAPTURER_GET_SOURCES_ERROR | ELECTRON_DESKTOP_CAPTURER_GET_SOURCES_ERROR |
ELECTRON_IS_NULL | ELECTRON_IS_NULL |
ENUMERATE_DEVICES_FAILED | ENUMERATE_DEVICES_FAILED |
EXCHANGE_SDP_FAILED | EXCHANGE_SDP_FAILED |
EXIST_DISABLED_VIDEO_TRACK | EXIST_DISABLED_VIDEO_TRACK |
EXTERNAL_SIGNAL_ABORT | EXTERNAL_SIGNAL_ABORT |
FETCH_AUDIO_FILE_FAILED | FETCH_AUDIO_FILE_FAILED |
GATEWAY_P2P_LOST | GATEWAY_P2P_LOST |
GET_LOCAL_CAPABILITIES_FAILED | GET_LOCAL_CAPABILITIES_FAILED |
GET_LOCAL_CONNECTION_PARAMS_FAILED | GET_LOCAL_CONNECTION_PARAMS_FAILED |
GET_VIDEO_ELEMENT_VISIBLE_ERROR | GET_VIDEO_ELEMENT_VISIBLE_ERROR |
ICE_FAILED | ICE_FAILED |
IMAGE_MODERATION_UPLOAD_FAILED | IMAGE_MODERATION_UPLOAD_FAILED |
INIT_DATACHANNEL_TIMEOUT | INIT_DATACHANNEL_TIMEOUT |
INVALID_LOCAL_TRACK | INVALID_LOCAL_TRACK |
INVALID_OPERATION | INVALID_OPERATION |
INVALID_PARAMS | INVALID_PARAMS |
INVALID_PLUGIN | INVALID_PLUGIN |
INVALID_REMOTE_USER | INVALID_REMOTE_USER |
INVALID_TRACK | INVALID_TRACK |
INVALID_UINT_UID_FROM_STRING_UID | INVALID_UINT_UID_FROM_STRING_UID |
LIVE_STREAMING_CDN_ERROR | LIVE_STREAMING_CDN_ERROR |
LIVE_STREAMING_INTERNAL_SERVER_ERROR | LIVE_STREAMING_INTERNAL_SERVER_ERROR |
LIVE_STREAMING_INVALID_ARGUMENT | LIVE_STREAMING_INVALID_ARGUMENT |
LIVE_STREAMING_INVALID_RAW_STREAM | LIVE_STREAMING_INVALID_RAW_STREAM |
LIVE_STREAMING_PUBLISH_STREAM_NOT_AUTHORIZED | LIVE_STREAMING_PUBLISH_STREAM_NOT_AUTHORIZED |
LIVE_STREAMING_TASK_CONFLICT | LIVE_STREAMING_TASK_CONFLICT |
LIVE_STREAMING_TRANSCODING_NOT_SUPPORTED | LIVE_STREAMING_TRANSCODING_NOT_SUPPORTED |
LIVE_STREAMING_WARN_FAILED_LOAD_IMAGE | LIVE_STREAMING_WARN_FAILED_LOAD_IMAGE |
LIVE_STREAMING_WARN_FREQUENT_REQUEST | LIVE_STREAMING_WARN_FREQUENT_REQUEST |
LIVE_STREAMING_WARN_STREAM_NUM_REACH_LIMIT | LIVE_STREAMING_WARN_STREAM_NUM_REACH_LIMIT |
LOCAL_AEC_ERROR | LOCAL_AEC_ERROR |
LOW_STREAM_ENCODING_ERROR | LOW_STREAM_ENCODING_ERROR |
MEDIA_OPTION_INVALID | MEDIA_OPTION_INVALID |
METADATA_OUT_OF_RANGE | METADATA_OUT_OF_RANGE |
MULTI_UNILBS_RESPONSE_ERROR | MULTI_UNILBS_RESPONSE_ERROR |
NETWORK_ERROR | NETWORK_ERROR |
NETWORK_RESPONSE_ERROR | NETWORK_RESPONSE_ERROR |
NETWORK_TIMEOUT | NETWORK_TIMEOUT |
NOT_READABLE | NOT_READABLE |
NOT_SUPPORTED | NOT_SUPPORTED |
NO_ICE_CANDIDATE | NO_ICE_CANDIDATE |
OPERATION_ABORTED | OPERATION_ABORTED |
P2P_MESSAGE_FAILED | P2P_MESSAGE_FAILED |
PB_ERROR | PB_ERROR |
PC_CLOSED | PC_CLOSED |
PERMISSION_DENIED | PERMISSION_DENIED |
PROHIBITED_OPERATION | PROHIBITED_OPERATION |
READ_LOCAL_AUDIO_FILE_ERROR | READ_LOCAL_AUDIO_FILE_ERROR |
REMOTE_USER_IS_NOT_PUBLISHED | REMOTE_USER_IS_NOT_PUBLISHED |
SENDER_NOT_FOUND | SENDER_NOT_FOUND |
SENDER_REPLACE_FAILED | SENDER_REPLACE_FAILED |
SET_ANSWER_FAILED | SET_ANSWER_FAILED |
SET_ENCODING_PARAMETER_ERROR | SET_ENCODING_PARAMETER_ERROR |
SHARE_AUDIO_NOT_ALLOWED | SHARE_AUDIO_NOT_ALLOWED |
SUBSCRIBE_FAILED | SUBSCRIBE_FAILED |
TIMEOUT | TIMEOUT |
TOKEN_EXPIRE | TOKEN_EXPIRE |
TRACK_IS_DISABLED | TRACK_IS_DISABLED |
TRACK_STATE_UNREACHABLE | TRACK_STATE_UNREACHABLE |
UID_CONFLICT | UID_CONFLICT |
UNEXPECTED_ERROR | UNEXPECTED_ERROR |
UNEXPECTED_RESPONSE | UNEXPECTED_RESPONSE |
UNSUBSCRIBE_FAILED | UNSUBSCRIBE_FAILED |
UPDATE_TICKET_FAILED | UPDATE_TICKET_FAILED |
VOID_GATEWAY_ADDRESS | VOID_GATEWAY_ADDRESS |
WEBGL_INTERNAL_ERROR | WEBGL_INTERNAL_ERROR |
WEB_SECURITY_RESTRICT | WEB_SECURITY_RESTRICT |
WS_ABORT | WS_ABORT |
WS_DISCONNECT | WS_DISCONNECT |
WS_ERR | WS_ERR |