Hierarchy

  • EventEmitter<AliRtcEngineEventListener>
    • AliRtcEngine

Constructors

Properties

Accessors

Methods

destroy enableAudioVolumeIndication enableBackgroundBlur enableBackgroundExchange enableLocalVideo enablePlugin getAudioTrack getCurrentCameraDeviceId getCurrentClientRole getCurrentMicDeviceId getOnlineRemoteUsers getPluginOption getUserInfo getVideoTrack isAudioOnly isBeautyAvailable isBeautyEnabled isCameraOn isInCall isLocalAudioStreamPublished isLocalVideoStreamPublished isScreenSharePublished isUserOnline joinChannel leaveChannel muteAllRemoteAudioPlaying muteLocalCamera muteLocalMic muteLocalScreen muteRemoteAudioPlaying publishLocalAudioStream publishLocalScreenShareStream publishLocalVideoStream refreshAuthInfo removePlugin resumeRemoteAudioStream resumeRemoteMediaStream sendMediaExtensionMsg sendMediaExtensionMsgEx setAudioOnlyMode setAudioProfile setAudioShareVolume setBeautyEffect setCameraCapturerConfiguration setCameraCapturerContentHint setChannelProfile setClientRole setDefaultSubscribeAllRemoteAudioStreams setDefaultSubscribeAllRemoteVideoStreams setEnableDualVideoStream setEnableMediaExtensionMsg setLocalViewConfig setPluginOption setRecordingVolume setRemoteDefaultVideoStreamType setRemoteViewConfig setScreenShareConfiguration setScreenShareContentHint startAudioCapture startPreview startPreviewScreen startPublishLiveStream startScreenShare stopAudioCapture stopPreview stopPreviewScreen stopPublishLiveStream stopScreenShare subscribeAllRemoteAudioStreams subscribeAllRemoteVideoStreams subscribeRemoteAudioStream subscribeRemoteMediaStream switchCamera switchMicrophone updatePublishLiveStream updatePublishLiveStreamWithTaskId getCameraList getInstance getMicrophoneList getSdkVersion getSpeakerList setLogLevel

Constructors

  • Parameters

    • Optional config: AliRtcEngineConfig

    Returns AliRtcEngine

Properties

AliRtcAudioTrack: typeof AliRtcAudioTrack = AliRtcAudioTrack
AliRtcConnectionStatus: typeof AliRtcConnectionStatus = AliRtcConnectionStatus
AliRtcConnectionStatusChangeReason: typeof AliRtcConnectionStatusChangeReason = AliRtcConnectionStatusChangeReason
AliRtcEngineLocalDeviceExceptionType: typeof AliRtcEngineLocalDeviceExceptionType = AliRtcEngineLocalDeviceExceptionType
AliRtcEngineLocalDeviceType: typeof AliRtcEngineLocalDeviceType = AliRtcEngineLocalDeviceType
AliRtcLiveTranscodingAudioSampleRate: typeof AliRtcLiveTranscodingAudioSampleRate = AliRtcLiveTranscodingAudioSampleRate
AliRtcLiveTranscodingCropMode: typeof AliRtcLiveTranscodingCropMode = AliRtcLiveTranscodingCropMode
AliRtcLiveTranscodingEncodeParam: typeof AliRtcLiveTranscodingEncodeParam = AliRtcLiveTranscodingEncodeParam
AliRtcLiveTranscodingErrorCode: typeof AliRtcLiveTranscodingErrorCode = AliRtcLiveTranscodingErrorCode
AliRtcLiveTranscodingFontType: typeof AliRtcLiveTranscodingFontType = AliRtcLiveTranscodingFontType
AliRtcLiveTranscodingMediaProcessMode: typeof AliRtcLiveTranscodingMediaProcessMode = AliRtcLiveTranscodingMediaProcessMode
AliRtcLiveTranscodingMixMode: typeof AliRtcLiveTranscodingMixMode = AliRtcLiveTranscodingMixMode
AliRtcLiveTranscodingMixParam: typeof AliRtcLiveTranscodingMixParam = AliRtcLiveTranscodingMixParam
AliRtcLiveTranscodingParam: typeof AliRtcLiveTranscodingParam = AliRtcLiveTranscodingParam
AliRtcLiveTranscodingSegmentType: typeof AliRtcLiveTranscodingSegmentType = AliRtcLiveTranscodingSegmentType
AliRtcLiveTranscodingSingleParam: typeof AliRtcLiveTranscodingSingleParam = AliRtcLiveTranscodingSingleParam
AliRtcLiveTranscodingSourceType: typeof AliRtcLiveTranscodingSourceType = AliRtcLiveTranscodingSourceType
AliRtcLiveTranscodingState: typeof AliRtcLiveTranscodingState = AliRtcLiveTranscodingState
AliRtcLiveTranscodingStreamType: typeof AliRtcLiveTranscodingStreamType = AliRtcLiveTranscodingStreamType
AliRtcLiveTranscodingTaskProfile: typeof AliRtcLiveTranscodingTaskProfile = AliRtcLiveTranscodingTaskProfile
AliRtcLogLevel: typeof AliRtcLogLevel = AliRtcLogLevel
AliRtcPlugin: typeof AliRtcPlugin = AliRtcPlugin
AliRtcPluginTrackType: typeof AliRtcPluginTrackType = AliRtcPluginTrackType
AliRtcPublishState: typeof AliRtcPublishState = AliRtcPublishState
AliRtcRawDataStreamType: typeof AliRtcRawDataStreamType = AliRtcRawDataStreamType
AliRtcSdkChannelProfile: typeof AliRtcSdkChannelProfile = AliRtcSdkChannelProfile
AliRtcSdkClientRole: typeof AliRtcSdkClientRole = AliRtcSdkClientRole
AliRtcSubscribeState: typeof AliRtcSubscribeState = AliRtcSubscribeState
AliRtcTranscodingClockWidget: typeof AliRtcTranscodingClockWidget = AliRtcTranscodingClockWidget
AliRtcTranscodingImage: typeof AliRtcTranscodingImage = AliRtcTranscodingImage
AliRtcTranscodingText: typeof AliRtcTranscodingText = AliRtcTranscodingText
AliRtcTranscodingUser: typeof AliRtcTranscodingUser = AliRtcTranscodingUser
AliRtcTrascodingPublishTaskStatus: typeof AliRtcTrascodingPublishTaskStatus = AliRtcTrascodingPublishTaskStatus
AliRtcVideoStreamType: typeof AliRtcVideoStreamType = AliRtcVideoStreamType
AliRtcVideoTrack: typeof AliRtcVideoTrack = AliRtcVideoTrack
Plugin: typeof AliRtcPlugin = AliRtcPlugin
isDualVideoStreamSupported: (() => boolean) = VideoScalerFactory.isSupport

检查浏览器是否支持开启大小流

Type declaration

    • (): boolean
    • Returns boolean

Returns

isSupported: ((direction?) => Promise<AliRtcCheckResult>) = isSupported

检查浏览器是否支持 WebRTC

Type declaration

    • (direction?): Promise<AliRtcCheckResult>
    • Parameters

      • Optional direction: "sendonly" | "recvonly" | "sendrecv"

      Returns Promise<AliRtcCheckResult>

Returns

Accessors

  • get channel(): undefined | string
  • 获取当前频道号,已经入会成功返回频道号,否则返回undefined

    Returns undefined | string

  • get isPublishing(): boolean
  • Returns boolean

  • get publishAudioStream(): undefined | LocalStream
  • Returns undefined | LocalStream

  • get publisher(): undefined | LocalUser
  • Returns undefined | LocalUser

  • get remoteUsers(): RemoteUser[]
  • Returns RemoteUser[]

  • get userId(): undefined | string
  • 获取当前用户的 userId,已经入会成功返回自己的 userId,否则返回 undefined

    Returns undefined | string

Methods

  • Returns void

    Brief

    销毁 AliRtcEngine实例

    Details

    调用该方法将会释放所有内部使用的资源,当完成音视频通信之后都建议调用该方法释放实例.调用该方法后,你将不能再使用 AliRtcEngine 的其他方法和任何回调,如需要再次使用需要重新调用 AliRtcEngine.getInstance 方法创建一个新的实例。

    Note

    该方法为同步调用,需要等待内部资源释放之后才能执行其他方法

  • 开启音量检测功能

    Parameters

    • interval: number

      检测间隔,单位: ms

    Returns void

    Note

    建议设置为300ms~500ms,取值 ≤0 表示不启用音量检测功能

  • Parameters

    • enable: boolean

      是否开启;

    Returns void

    Brief

    开启/关闭虚拟背景虚化功能

    Details

    需要集成美颜插件; 需要集成美颜插件,背景替换与背景虚化不可同时使用,如开启虚拟背景开关后再次开启背景虚化,则只有背景虚化效果;

    Note

    • 与虚拟背景为替换关系,如开启背景虚化开关后再次开启虚拟背景,则只有虚拟背景效果;
  • Parameters

    • enable: boolean

      是否开启;

    • path: string

      虚拟背景本地图片路径,支持JPG,PNG 格式;

    Returns void

    Brief

    开启/关闭虚拟背景替换功能

    Details

    需要集成美颜插件;

    Note

    • 与背景虚化为替换关系,如开启虚拟背景开关后再次开启背景虚化,则只有背景虚化效果;
  • 禁用或启用摄像头采集

    Parameters

    • enabled: boolean = true

      true : 启用摄像头采集

      • false : 禁用摄像头采集

    Returns Promise<void>

  • Parameters

    • plugin: AliRtcPlugin

      插件库

    • Optional option: any

      插件初始化参数值,请阅读插件库接入文档

    Returns void

    Brief

    开启音视频处理算法插件

    Details

    RTC采用插件件形式提供音视频增强及特效能力,可通过官网组件文档 进行组件下载,参考插件集成文档集成进RTC引擎;

    Note

    • 入会前入会后均可调用;
    • 如果重复调用会报错;
  • Parameters

    • Optional userId: string

      远端用户 userId

    Returns Promise<undefined | MediaStreamTrack>

    音频轨道

    Brief

    获取当前用户或远端用户的音频轨道

  • 获取摄像头设备ID

    Returns undefined | string

    摄像头设备ID

  • 获取当前使用的麦克风 deviceId

    Returns undefined | string

  • Parameters

    • name: string

      插件名称,通过 plugin.name 获取

    Returns any

    Brief

    根据插件ID获取插件内部信息

  • Parameters

    • uid: string

      用户ID。从App server分配的唯一标示符

    Returns undefined | RemoteUser

    返回一个远端用户对象。详见RemoteUser

    Brief

    查询远端用户状态

    Details

    通过 uid 查询指定远端用户的状态信息.

  • Parameters

    • config: AliRtcVideoTrackConfig

      视频轨道配置

    Returns Promise<undefined | MediaStreamTrack>

    视频轨道

    Brief

    获取当前用户或远端用户的视频轨道

  • 检查当前是否纯音频模式

    Returns boolean

    • true:纯音频模式
    • false:音视频模式
  • 美颜功能是否有效

    Returns boolean

    • true: 美颜功能有效
    • false: 无效
  • 美颜功能是否开启

    Returns boolean

    • true: 美颜功能已开启
    • false: 已关闭
  • 检查camera是否打开

    Returns boolean

    • true: 摄像头已打开
    • false: 摄像头没有打开

    Note

    该接口用于检查当前camera的状态

  • 检查当前是否在频道中

    Returns boolean

    • true:在频道中
    • false:不在频道中
  • Returns boolean

    • true: 已设置推送
    • false: 未设置推送

    Brief

    查询是否设置推送音频流

    Note

    SDK默认设置推送音频流,如果需要取消推送音频流,可以通过publishLocalAudioStream方法设置为不推送

  • Returns boolean

    • true: 已设置推送
    • false: 未设置推送

    Brief

    查询是否设置推送视频流

    Note

    SDK默认设置推送视频流,如果需要取消推送视频流,可以通过publishLocalVideoStream方法设置为不推送

  • Returns boolean

    • true: 已设置推送
    • false: 未设置推送

    Brief

    查询是否设置推送屏幕分享

    Note

    SDK默认设置不推送屏幕分享,如果需要推送屏幕共享,可以通过AliRtcEngine.startScreenShare方法开启屏幕共享推送

  • Parameters

    • uid: string

      用户ID,从App server分配的唯一标示符。不可为NULL

    Returns boolean

    • true: 用户在线
    • false: 用户不在线

    Brief

    查询用户是否在线

    Note

    根据特定的UserID,查询该用户是否在线。

  • Parameters

    • authInfo: AliRtcAuthInfo

      认证信息,从App Server获取。

    • userName: string

      任意用于显示的用户名称。不是User ID

    Returns Promise<void>

    Brief

    加入频道

    Details

    该方法让用户加入频道,一个频道内可以加入多个用户进行互相通话。

    Details

    一般在调用该方法前会根据场景先选择频道模式,通过调用 AliRtcEngine.setChannelProfile 实现,默认频道模式为通信模式 AliRtcSdkChannelProfile.AliRtcSdkCommunication

    // 设置频道为互动模式
    engine.setChannelProfile(AliRtcSdkChannelProfile.AliRtcInteractivelive);
    // 设置角色为主播角色
    engine.setClientRole(AliRtcSdkClientRole.AliRtcSdkInteractive);

    Note

    • 异步接口,方法执行成功则为成功入会
      • 正常情况一个Appid对应一个App,只有同一个AppId的应用可进行互相童话,不同AppId和channelID不同都不能互通
      • 当入会成功后,会触发远端用户收到 AliRtcEngineEventListener.remoteUserOnLineNotify 回调
      • 如果已在会中想重新入会,需要先调用 leaveChannel 离会,且确保方法执行成功
      • 用户加入频道后,默认订阅频道内所有其他用户的音视频流,默认推送音视频流到远端,因此将会产生计费,如果想要取消默认订阅可以joinChannel 前调用 setDefaultSubscribeAllRemoteAudioStreamssetDefaultSubscribeAllRemoteVideoStreams
  • 离开频道

    Parameters

    • bye: boolean = false

      是否因为被挤占而离开房间

    Returns Promise<void>

    Note

    如果当前不在频道内,调用 leaveChannel 不会对实例产生任何影响,但会产生消息,通知频道内其他用户

  • 停止/恢复远端的所有音频流的播放

    Parameters

    • mute: boolean = false

      停止或恢复远端的音频播放

      • true:停止播放
      • false(默认值):恢复播放

    Returns void

    Note

    拉流和解码不受影响, 支持 joinChannel 之前和之后设置

  • 是否将停止摄像头流数据发送

    Parameters

    • mute: boolean

      true:停止发送摄像头流数据

      • false:表示恢复正常

    Returns Promise<void>

  • 停止/恢复本地音频数据发送

    Parameters

    • mute: boolean = false

      停止或恢复本地音频数据发送

      • true:静音本地音频
      • false(默认值):取消静音

    Returns void

  • 是否将停止屏幕共享流数据发送

    Parameters

    • mute: boolean

      true:停止发送屏幕共享流数据

      • false:表示恢复正常

    Returns Promise<void>

  • 停止/恢复远端指定用户的音频流的播放

    Parameters

    • uid: string

      用户ID, 从 App server 分配的唯一标示符

    • mute: boolean = false

      停止或恢复远端的音频播放

      • true:停止播放
      • false(默认值):恢复播放

    Returns void

    Note

    拉流和解码不受影响, 支持 joinChannel 之前和之后设置

  • Parameters

    • enabled: boolean

      是否开启/关闭本地音频流推送

      • true: 开启音频流推送
      • false: 关闭音频流推送

    Returns Promise<void>

    Brief

    是否推送音频流

    Note

    SDK默认设置推送音频流,在加入频道前也可以调用此接口修改默认值,并在加入频道成功时生效

  • Parameters

    • enabled: boolean

      是否开启/关闭本地屏幕分享推送

      • true: 开启屏幕分享推送
      • false: 关闭屏幕分享推送
    • Optional config: AliRtcScreenShareStartConfig

      开启屏幕共享的配置

    Returns Promise<void>

    Brief

    是否推送屏幕分享

    Note

    SDK默认设置推送屏幕分享,在加入频道前也可以调用此接口修改默认值,并在加入频道成功时生效

  • Parameters

    • enabled: boolean

      是否开启/关闭本地视频流推送

      • true: 开启视频流推送
      • false: 关闭视频流推送

    Returns Promise<void>

    Brief

    是否推送本地视频流

    Note

    SDK默认设置推送视频流,在加入频道前也可以调用此接口修改默认值,并在加入频道成功时生效

  • 刷新鉴权信息

    Parameters

    Returns Promise<void>

  • Parameters

    • name: string

      插件名称,通过 plugin.name 获取

    Returns void

    Brief

    关闭音视频处理算法插件

    Note

    • 入会前入会后均可调用;
    • 重复调用返回错误;
  • 手动恢复远端用户音频流

    Parameters

    • uid: string

      用于在自动播放失败等场景恢复播放

    Returns void

  • Parameters

    • uid: string
    • videoTrack: AliRtcVideoTrack

      用于在自动播放失败等场景恢复播放

    Returns void

    Brief

    手动恢复远端用户视频流

  • Parameters

    • message: ArrayBuffer

      媒体扩展信息,长度限制为最大4K字节

    • repeatCount: number

      重复次数,代表消息冗余度,用于防止网络丢包导致的消息丢失,-1为无限传输

    Returns Promise<void>

    Brief

    发送媒体扩展信息

    Details

    SDK提供了发送和接收媒体扩展信息的功能,接收端参考 AliRtcEngineEventListener.mediaExtensionMsgReceived,使用场景:

    • 使用媒体扩展信息传递时间戳,计算端到端的网络延迟,或者跟自身其他业务做数据同步
    • 使用媒体扩展信息传递描述信息。目前可以传递最多 4k Byte数据,可以用来传输少量数据,建议使用Json或者纯字符串;
    • 内部使用SEI扩展协议来实现;

    Note

    启用此能力会增加客户端性能开销,如有需求需要在加入房间之前调用 setEnableMediaExtensionMsg

    Note

    使用媒体扩展信息时需要复用音视频数据通道,因此必须控制自定义消息的发送频率和消息数据长度,使用限制如下:

    • 每秒最多发送profile条消息,因为sei信息是放到h264/h265流中传输,有视频帧编码才能附加扩展信息;
    • 为了不影响媒体数据的传输质量,自定义消息体长度限制为4k Byte,可以用来传输少量信息;
    • sendMediaExtensionMsg函数中repeatCount参数为自定义消息冗余度,若大于1,则会发送多次,
    • 防止网络丢包导致的消息丢失,此时房间里的其他人也会收到多次相同的消息,需要去重
    • 发送的自定义消息,在旁路直播时,房间里的订阅者也一样会收到
    • 同一时间只有一条MediaExtensionMsg在传输,多次调用sendMediaExtensionMsg,新调用的数据会覆盖前一次的数据;
  • Parameters

    • message: ArrayBuffer

      媒体扩展信息,长度限制为最大4K字节

    • repeatCount: number

      重复次数,代表消息冗余度,用于防止网络丢包导致的消息丢失,-1为无限传输

    • payloadType: number

      [5, 100..254]范围 payloadType=5等于使用sendMediaExtensionMsg 接口

    Returns Promise<void>

    Brief

    发送媒体扩展信息

    Details

    SDK提供了发送和接收媒体扩展信息的功能,接收端参考 AliRtcEngineEventListener.mediaExtensionMsgReceived,使用场景:

    • 使用媒体扩展信息传递时间戳,计算端到端的网络延迟,或者跟自身其他业务做数据同步
    • 使用媒体扩展信息传递描述信息。目前可以传递最多 4k Byte数据,可以用来传输少量数据,建议使用Json或者纯字符串;
    • 内部使用SEI扩展协议来实现;

    Note

    启用此能力会增加客户端性能开销,如有需求需要在加入房间之前调用 setEnableMediaExtensionMsg

    Note

    使用媒体扩展信息时需要复用音视频数据通道,因此必须控制自定义消息的发送频率和消息数据长度,使用限制如下:

    • 每秒最多发送profile条消息,因为sei信息是放到h264/h265流中传输,有视频帧编码才能附加扩展信息;
    • 为了不影响媒体数据的传输质量,自定义消息体长度限制为4k Byte,可以用来传输少量信息;
    • sendMediaExtensionMsg函数中repeatCount参数为自定义消息冗余度,若大于1,则会发送多次,
    • 防止网络丢包导致的消息丢失,此时房间里的其他人也会收到多次相同的消息,需要去重
    • 发送的自定义消息,在旁路直播时,房间里的订阅者也一样会收到
    • 同一时间只有一条MediaExtensionMsg在传输,多次调用sendMediaExtensionMsg,新调用的数据会覆盖前一次的数据;
  • 是否开启纯音频模式

    Parameters

    • audioOnly: boolean

      true:只有音频推流和拉流

      • false(默认值):音视频都支持

    Returns void

    Note

    只可以在 AliRtcEngine.joinChannel 之前设置

  • 设置麦克风 profile

    Parameters

    • profileKey: AudioProfileKey

    Returns Promise<void>

  • Parameters

    • volume: number

      共享音频音量大小,取值范围[0, 100]

    Returns void

    Brief

    设置共享音频的音量大小

  • Parameters

    • enable: boolean

      true: 开启美颜功能

      • false: 关闭美颜功能
    • config: AliRtcBeautyConfig

      美颜效果参数

    Returns void

    Brief

    开启或关闭美颜功能, 并设置美颜效果参数

  • Parameters

    • cameraCapturerConfiguration: AliEngineCameraCapturerConfiguration

      偏好设置 - videoProfile: videoProfileKey 或 IProfile - cameraDirection: 设置采集方向,前置或后置摄像头 - deviceId: 设置采集相机ID

    Returns Promise<void>

    Brief

    采集偏好设置

  • Parameters

    • contentHint: string

      设置视频内容提示,用于提升在不同内容场景下的视频编码质量 参考文档

    Returns Promise<void>

    Breif

    设置摄像头采集内容提示

  • 设置频道模式

    Parameters

    Returns void

    Note

    该接口只可以在加入频道之前调用,会议中不可以重新设置,离开频道后可以重新设置

  • 设置是否默认接收音频流

    Parameters

    • sub: boolean

      true: 接收用户的音频流

      • false: 停止接收用户的音频流

    Returns void

    Note

    入会前入会后均可调用。如果在加入频道后调用 setDefaultSubscribeAllRemoteAudioStreams(false),会接收不到设置后加入频道的用户的音频流。

    Note

    停止接收音频流后,如果想要恢复接收,请调用 subscribeRemoteAudioStream,并指定你想要接收的远端用户ID;

    Note

    如果想恢复接收多个用户的音频流,则需要多次调用 subscribeRemoteAudioStream。setDefaultSubscribeAllRemoteAudioStreams(true) 只能恢复接收后面加入频道的用户的音频流。

  • 设置是否默认接收视频流

    Parameters

    • sub: boolean

      true: 接收用户的视频流

      • false: 不接收用户的视频流

    Returns void

    Note

    入会前入会后均可调用。如果在加入频道后调用 setDefaultSubscribeAllRemoteVideoStreams(false),会接收不到设置后加入频道的用户的视频流。

    Note

    停止接收视频流后,如果想要恢复接收,请调用 subscribeRemoteVideoStream,并指定你想要接收的远端用户ID;

    Note

    如果想恢复接收多个用户的视频流,则需要多次调用 subscribeRemoteVideoStream;setDefaultSubscribeAllRemoteVideoStreams(true) 只能恢复接收后面加入频道的用户的视频流。

  • 是否开启大小流

    Parameters

    • enabled: boolean
    • Optional options: VideoScalerOptions

    Returns void

  • Parameters

    • enabled: boolean

      是否启用媒体扩展,需要在加入房间之前调用

    Returns void

    Brief

    设置是否启用媒体扩展信息

  • 为本地预览设置渲染元素和视频流

    Parameters

    • view: AliRtcLocalView

      渲染元素,null 则为停止显示

    • track: AliRtcVideoTrack

      视频流类型

    Returns Promise<void>

  • Parameters

    • name: string

      插件名称,通过 plugin.name 获取

    • option: any

      插件初始化参数值,请阅读插件库接入文档

    Returns void

    Brief

    根据插件ID设置插件

  • 设置录音音量

    Parameters

    • volume: number

    Returns void

  • 设置默认订阅的相机流格式,大流或小流

    Parameters

    Returns void

    Note

    仅支持传入 1 (默认大流)、2(默认小流),传入其他无效

    Note

    当无默认类型的相机流,但有另一个,将拉取另一个

  • 设置远端视频显示视图

    Parameters

    • view: AliRtcLocalView

      渲染元素

    • uid: string

      用户ID, 从App server分配的唯一标示符

    • track: AliRtcVideoTrack

      视频流类型

    Returns void

    Note

    支持joinChannel之前和之后切换窗口。如果 view 传入 null,则停止显示

  • Parameters

    • config: AliRtcScreenShareConfiguration

      预定义的屏幕共享编码属性,

    Returns Promise<void>

    Brief

    设置屏幕流视频编码属性

    Details

    该方法用于设置屏幕流视频编码属性对应的视频参数,如分辨率、帧率、码率、等 所有设置的参数都有相应的范围限制,如果设置的参数不在有效范围内,SDK会自动调节

    Note

    • 该方法在入会前和入会后都可以调用,如果每次入会只需要设置一次屏幕流视频编码属性,建议在入会前调用
  • Parameters

    • contentHint: string

      设置屏幕流内容提示,用于提升在不同内容场景下的视频编码质量 参考文档

    Returns Promise<void>

    Breif

    设置屏幕流采集内容提示

  • Parameters

    • Optional audioConstraints: IAudioConstraints

      音频采集参数

    Returns Promise<void>

    Brief

    开启音频采集

    Details

    此接口可以控制提前打开音频采集,如果不设置,则SDK会自动控制音频采集设备:

  • Returns Promise<void>

    Brief

    开启摄像头预览

    Details

    开启摄像头预览并自动打开摄像头

    Note

    如果没有调用setLocalViewConfig设置显示的view,则无法预览,但不影响推流。 可以在joinChannel之前就开启预览会自动打开摄像头。

  • Parameters

    • Optional config: AliRtcScreenShareStartConfig

      开启屏幕共享的配置

    Returns Promise<void>

    Brief

    开启屏幕共享预览

    Details

    开启屏幕共享预览并自动打开屏幕共享

    Note

    如果没有调用setLocalViewConfig设置显示的view,则无法预览,但不影响推流。 可以在joinChannel之前就开启预览会自动打开屏幕共享。

  • Parameters

    • streamUrl: string

      推流地址

    • transcoding: AliRtcLiveTranscodingParam

      推流所需参数, 详细定义见com::alivc::rtc::AliRtcLiveTranscodingParam

    Returns Promise<any>

    Brief

    开启旁路直播

    Details

    SDK提供了开启旁路直播的功能,可以把实时音视频流经过混流、混音处理转为标准直播流并推送至指定CDN供应商

  • Parameters

    • Optional config: AliRtcScreenShareStartConfig

      开启屏幕共享的配置

    Returns Promise<void>

    Brief

    开始屏幕共享

    Note

    可以通过 config 选择是否开启音频或使用外部自定义 MediaStream

    Note

    自定义 MediaStream 仅支持一个视频流和一个音频流

  • 关闭音频采集

    Returns void

    Note

    调用此接口后,入会后、离会再入会,采集设备保持关闭状态

  • Returns Promise<void>

    Brief

    停止本地视频预览

  • Returns Promise<void>

    Brief

    停止本地屏幕共享预览

  • Parameters

    • streamUrl: string

      推流地址

    Returns Promise<any>

    Brief

    停止旁路直播

    Details

    SDK提供了停止旁路直播的功能

  • Returns Promise<void>

    Brief

    停止屏幕共享

  • 停止/恢复接收所有远端音频流

    Parameters

    • sub: boolean

      true: 接收所有用户的音频流

      • false: 停止接收所有用户的音频流

    Returns void

    Note

    该接口作为订阅远端音频流的总开关,如果设置为false,则不仅当前会议中所有远端音频流都会停止订阅,后续入会的新用户也将不再订阅(即使设置了setDefaultSubscribeAllRemoteAudioStreams(true))

  • 停止/恢复接收所有远端视频流

    Parameters

    • sub: boolean

      true: 接收所有用户的视频流

      • false: 停止接收所有用户的视频流

    Returns void

    Note

    该接口作为订阅远端视频流的总开关,如果设置为false,则不仅当前会议中所有远端视频流都会停止订阅,后续入会的新用户也将不再订阅(即使设置了setDefaultSubscribeAllRemoteVideoStreams(true))

  • 手动拉音频流

    Parameters

    • uid: string

      uid

    • sub: boolean

    Returns void

    Note

    如果之前有调用过 subscribeAllRemoteAudioStreams(false) 对所有远端音频进行静音,在调用本 API 之前请确保你已调用 subscribeAllRemoteAudioStreams(true)。

    Note

    subscribeAllRemoteAudioStreams 是全局控制,subscribeRemoteAudioStream 是精细控制。

  • 合并订阅远端音视频流

    Parameters

    • uid: string

      uid

    • videoTrack: AliRtcVideoTrack

      视频流类型

    • subVideo: boolean

      是否订阅视频

    • subAudio: boolean

      是否订阅音频

    Returns void

  • 切换摄像头

    Parameters

    • Optional deviceId: string

      摄像头设备ID

    Returns Promise<void>

    Note

    若不传 deviceId 则前后摄像头切换

  • 切换麦克风

    Parameters

    • deviceId: string

      麦克风设备ID

    Returns Promise<void>

  • Parameters

    • streamUrl: string

      推流地址

    • transcoding: AliRtcLiveTranscodingParam

      推流所需参数, 详细定义见com::alivc::rtc::AliRtcLiveTranscodingParam

    Returns Promise<any>

    Brief

    更新旁路直播相关参数

    Details

    SDK提供了更新旁路直播的功能,用于实时更新旁路直播参数

  • Parameters

    • taskId: string

      任务Id

    • transcoding: AliRtcLiveTranscodingParam

      推流所需参数, 详细定义见com::alivc::rtc::AliRtcLiveTranscodingParam

    Returns Promise<any>

    • 0 : 成功
    • 非0 : 失败
      • ERR_INNER(-1) : SDK内部错误,可能的情况为SDK未初始化或者SDK销毁后调用
      • 其他 : 返回值参考官网错误码

    Brief

    更新旁路直播相关参数

    Details

    SDK提供了更新旁路直播的功能,用于实时更新旁路直播参数

  • 获取摄像头列表

    Returns Promise<MediaDeviceInfo[]>

  • Parameters

    • Optional config: AliRtcEngineConfig

    Returns AliRtcEngine

    Brief

    获取AliRtcEngine实例

    Details

    该方法为同步调用,以单例的形式提供对象创建。

  • Returns Promise<MediaDeviceInfo[]>

  • Returns string

  • Returns Promise<MediaDeviceInfo[]>

  • 设置日志等级

    Parameters

    Returns void