文档

DingRtcEngine

更新时间:

通过阅读本文,您可以了解到Windows SDK的DingRtcEngine接口详情。

接口说明

目录

基础接口

API

描述

支持的最低版本

Create

创建一个RtcEngine实例。

3.0

Destroy

销毁RtcEngine实例。

3.0

SetLogDirPath

设置SDK日志文件保存路径。

3.0

SetEngineEventListener

设置相关监听事件回调。

3.0

频道相关接口

API

描述

支持的最低版本

JoinChannel

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

3.0

LeaveChannel

离开频道,即挂断或者停止通话。

3.0

IsInCall

获取状态:当前是否在频道中。

3.0

GetOnlineRemoteUsers

获取远端在线用户列表。

3.0

GetUserInfo

查询远端用户状态。

3.0

IsUserOnline

查询用户是否在线。

3.0

发布相关接口

API

描述

支持的最低版本

PublishLocalVideoStream

是否推送本地视频(摄像头)流。

3.0

PublishLocalAudioStream

是否推送本地音频流。

3.0

IsLocalVideoStreamPublished

查询是否推送视频流。

3.0

IsLocalAudioStreamPublished

是否推送音频流。

3.0

IsScreenSharePublished

是否推送屏幕分享。

3.0

MuteLocalVideo

停止/恢复本地视频数据发送。

3.0

MuteLocalAudio

静音/取消静音本地音频数据。

3.0

订阅相关接口

API

描述

支持的最低版本

SubscribeAllRemoteAudioStreams

停止/恢复订阅所有远端音频流,包含后入会成员的订阅。

3.0

SubscribeAllRemoteVideoStreams

停止/恢复订阅所有远端视频流,包含后入会成员的订阅。

3.0

SubscribeRemoteVideoStream

停止/恢复订阅远端用户的视频流。

3.0

SetRemoteVideoStreamType

设置订阅视频流分辨率规格。

3.0

SetRemoteDefaultVideoStreamType

设置默认订阅的视频流分辨率规格;如果不设置,则默认订阅最大的分辨率规格。

3.0

视频相关接口

API

描述

支持的最低版本

GetVideoDeviceManager

获取视频设备管理类接口。

3.0

MuteLocalVideo

停止/恢复本地视频数据发送。

3.0

EnableLocalVideo

禁用或启用本地视频采集。

3.0

SetVideoEncoderConfiguration

设置相机流视频编码属性。

3.0

SetScreenShareEncoderConfiguration

设置屏幕流视频编码属性。

3.0

SetLocalViewConfig

设置本地预览显示视图。

3.0

SetRemoteViewConfig

设置远端视频显示视图。

3.0

UpdateViewConfig

更新渲染配置。

3.0

RegisterVideoFrameObserver

注册视频帧观察类对象。

3.0

EnableVideoFrameObserver

设置视频帧数据观察开关。

3.1

SetExternalVideoSource

设置外部视频输入源。

3.0

PushExternalVideoFrame

推送外部视频帧。

3.0

SetAudioProfile

设置音频profile。

3.0

EnableAudioVolumeIndication

设置音量回调频率和平滑系数。

3.0

SetExternalAudioSource

设置外部音频源参数。

3.0

PushExternalAudioFrame

推送外部音频采集源。

3.0

SetExternalAudioRender

设置是否启用外部输入音频播放

3.1

PushExternalAudioRenderFrame

推送外部音频到扬声器

3.1

StartRecord

开始录制。

3.0

UpdateRecordLayout

更新录制内容信息。

3.0

PauseRecord

暂停录制。

3.0

ResumeRecord

重新开始录制。

3.0

StopRecord

停止录制。

3.0

SnapshotVideo

对指定用户的视频进行截图,生成一张JPG格式的图片,并保存至指定的路径。

共享视频相关接口

API

描述

支持的最低版本

IsScreenSharePublished

是否推送屏幕分享。

3.0

StartScreenShareByDesktopId

根据桌面ID进行屏幕分享。

3.0

StartScreenShareByWindowId

根据窗口ID进行屏幕分享。

3.0

StopScreenShare

停止屏幕分享。

3.0

GetScreenShareSourceInfo

获取屏幕分享源信息。

3.0

GetCurrentScreenShareSourceId

获取当前屏幕共享源Id。

3.0

GetCurrentScreenShareSourceType

获取当前屏幕共享源类型。

3.0

音频相关接口

API

描述

支持的最低版本

GetAudioDeviceManager

获取音频设备管理类接口。

3.0

MuteLocalAudio

静音/取消静音本地音频数据。

3.0

SetAudioProfile

设置音频profile。

3.0

EnableAudioVolumeIndication

设置音量回调频率和平滑系数。

3.0

SetExternalAudioSource

设置外部音频源参数。

3.0

PushExternalAudioFrame

推送外部音频采集源。

3.0

SetExternalAudioRender

设置是否启用外部输入音频播放

3.1

PushExternalAudioRenderFrame

推送外部音频到扬声器

3.1

预览相关接口

API

描述

支持的最低版本

StartPreview

开启本地视频预览。

3.0

StopPreview

关闭本地视频预览。

3.0

远端用户查询接口

API

描述

支持的最低版本

GetOnlineRemoteUsers

获取远端在线用户列表。

3.0

GetUserInfo

查询远端用户状态。

3.0

IsUserOnline

查询用户是否在线。

3.0

其他接口

API

描述

支持的最低版本

GetLogDirPath

获取当前SDK日志文件保存路径,包含SDK添加的子目录。

3.0

SetLogLevel

设置日志等级。

3.0

GetErrorDescription

根据错误码,获取错误码描述,也适用于获取Warning的描述。

3.0

GetCurrentConnectionStatus

获取当前网络链接状态。

3.0

接口详情

  • Create:创建一个RtcEngine实例。

    RtcEngine * Create (const char *extras)

    该方法为同步调用,支持多实例。

    参数说明

    参数

    类型

    描述

    extras

    const char *

    用于接收来自客户设置的参数,通过JSON配置SDK的特别功能,可以是空字符串。

  • Destroy:销毁RtcEngine实例。

    void Destroy (RtcEngine *instance)

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

    重要

    为避免死锁,不建议在任何SDK的回调中调用本方法。

  • SetLogDirPath:设置SDK日志文件保存路径。

    int SetLogDirPath (const char *logDirPath)

    参数说明

    参数

    类型

    描述

    logDirPath

    const char *

    日志文件保存目录的绝对路径,该参数是一个目录路径,而不是文件的路径。

    返回说明

    0,成功非0,失败。其中有两种错误码,释义如下:RtcEngineErrorLogRootPathError:路径已存在或因权限问题不可访问。

    重要

    默认路径:windows平台,在用户目录下dingding/log。

  • SetEngineEventListener:设置相关监听事件回调。

    int SetEngineEventListener (RtcEngineEventListener *listener)=0

    RtcEngineEventListener类是SDK向应用发送自身回调事件的通知,应用开发者需要实现该接口类的方法来获取相关事件通知。默认所有接口都有空实现,开发者不需要实现所有方法,可根据自身业务来实现对应的事件方法。

    参数说明

    参数

    类型

    描述

    listener

    RtcEngineEventListener *

    用于接收来自engine的消息。

    重要

    不建议在回调方法中做耗时操作,如调用RtcEngine本身的Destroy方法,这将有可能引起不必要的阻塞从而影响SDK的运行。

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

    int JoinChannel (const RtcEngineAuthInfo &authInfo, const char *userNameUtf8)=0

    参数说明

    参数

    类型

    描述

    authInfo

    RtcEngineAuthInfo &

    认证信息,从AppServer获取。

    userNameUtf8

    const char *

    任意用于显示的用户名称。不是UserID。支持emoji。要求utf8编码。

    返回说明

    0:成功;<0:失败。

    重要

    异步接口。是否成功入会,通过OnJoinChannelResult判断。正常情况一个Appid对应一个App,只有同一个AppId的应用可进行互相童话,不同AppId和channelID不同都不能互通。当入会成功后,会触发远端用户收到OnJoinChannelResult回调。如果已在会中想重新入会,需要先调用LeaveChannel离会,且确保OnLeaveChannelResult回调收到后,再次调用进行入会。userNameUtf8如果过长,超过64个字节,调用会失败。App业务系统应当避免过长的userNameUtf8传入进来。一般汉字占用3个字节,简单的emoji占用4~8个字节,一个复杂emoji占用34甚至更多字节。

  • LeaveChannel:离开频道,即挂断或者停止通话。

    int LeaveChannel ()=0

    如果当前不在频道内,LeaveChannel不会有任何影响。LeaveChannel会产生消息通知频道内其他用户。

  • IsInCall:获取状态:当前是否在频道中。

    bool IsInCall ()=0

    返回说明

    true:表示当前已经加入了频道;false:表示当前不在频道中。

    重要

    该方法可在加入频道前或加入频道后调用。

  • GetOnlineRemoteUsers:获取远端在线用户列表。

    void GetOnlineRemoteUsers (StringArray &userList)=0

    参数说明

    参数

    类型

    描述

    userList

    StringArray &

    当前频道内所有在线用户userid列表。

  • GetUserInfo:查询远端用户状态。

    int GetUserInfo (const char *uid, Dictionary &dict)=0

    通过uid查询,指定远端用户的状态信息,参数dict类型为标准std::map容器,通过键值对的方式进行访问。

    参数说明

    参数

    类型

    描述

    uid

    const char *

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

    dict

    Dictionary &

    App提供的容器,用于存放用户数据。

    返回说明

    0:成功;非0:失败,返回值为具体的错误码。

    重要

    Key信息:userID:远端用户的ID。isOnline:远端用户是否在线。displayName:远端用户的名称。hasAudio:远端用户是否推送了音频流。hasCamera:远端用户是否推送了相机流。hasScreenSharing:远端用户是否推送了屏幕流。requestAudio:本端是否订阅了此远端用户的音频流。requestCamera:本端是否订阅了此远端用户的相机流。此状态,系在成功订阅该用户摄像头流前的状态。requestScreenSharing:本端是否订阅了此远端用户的屏幕流。此状态,系在成功订阅该用户屏幕共享前的状态。preferCameraType:如果网络带宽允许,优先订阅的相机流的大小规格,选择范围:FHD,HD,SD,LD。subScribedAudio:本端是否拉到了此远端用户的音频流。subScribedCameraType:本端拉到了此远端用户的相机流的大小规格,可能的值:FHD,HD,SD,LD。subScribedScreenSharing:本端是否拉到了此远端用户的屏幕流。hasCameraView:本端是否设置了此远端用户相机流的view。hasScreenView:本端是否设置了此远端用户屏幕流的view。isCameraMirror:本端是否设置了此远端用户的相机流为镜像。isScreenMirror:本端是否设置了此远端用户的屏幕流为镜像。

  • IsUserOnline:查询用户是否在线。

    bool IsUserOnline (const char *uid)=0

    参数说明

    参数

    类型

    描述

    uid

    const char *

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

    返回说明

    true:用户在线;false:用户不在线。

    重要

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

  • PublishLocalVideoStream:是否推送本地视频(摄像头)流。

    int PublishLocalVideoStream (bool enable)=0

    参数说明

    参数

    类型

    描述

    enable

    bool

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

    true:开启视频流推送。

    false:关闭视频流推送。

    返回说明

    0:设置成功;<0:设置失败,返回错误码。

    重要

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

  • PublishLocalAudioStream:是否推送本地音频流。

    int PublishLocalAudioStream (bool enable)=0

    参数说明

    参数

    类型

    描述

    enable

    bool

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

    true:开启音频流推送。

    false:关闭音频流推送。

    返回说明

    0:设置成功;<0:设置失败,返回错误码。

    重要

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

  • IsLocalVideoStreamPublished:查询是否推送视频流。

    bool IsLocalVideoStreamPublished ()=0

    返回说明

    true:会推送;false:不会推送。

  • IsLocalAudioStreamPublished:是否推送音频流。

    bool IsLocalAudioStreamPublished ()=0

    返回说明

    true:会推送;false:不会推送。

  • IsScreenSharePublished:是否推送屏幕分享。

    bool IsScreenSharePublished ()=0

    返回说明

    true:会推送;false:不会推送。

    重要

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

  • MuteLocalVideo:停止/恢复本地视频数据发送。

    int MuteLocalVideo (bool mute, RtcEngineVideoTrack track)=0

    参数说明

    参数

    类型

    描述

    mute

    bool

    true表示视频数据发送黑帧。

    false表示恢复正常。

    track

    RtcEngineVideoTrack

    只支持RtcEngineVideoTrackCamera。

    返回说明

    0:成功;非0:失败。

    重要

    mute状态会保持,除非再次调用MuteLocalVideo更新,或者重新创建engineinstance。

  • MuteLocalAudio:静音/取消静音本地音频数据。

    int MuteLocalAudio (bool mute)=0

    参数说明

    参数

    类型

    描述

    mute

    bool

    true表示静音本地音频,发送静音帧。

    false表示取消静音。

    返回说明

    0:成功;非0:失败。

    重要

    mute状态会保持,除非再次调用MuteLocalAudio更新,或者重新创建engineinstance。

  • SubscribeAllRemoteAudioStreams:停止/恢复订阅所有远端音频流,包含后入会成员的订阅。

    int SubscribeAllRemoteAudioStreams (bool sub)=0

    参数说明

    参数

    类型

    描述

    sub

    bool

    是否订阅所有远端音频流。

    true:订阅所有用户的音频流,后入会成员会自动订阅其音频。

    false:停止订阅所有用户的音频流,后入会成员也不会自动订阅其音频。

    返回说明

    0:设置成功;非0:设置失败。

    重要

    入会前入会后均可以调用。

  • SubscribeAllRemoteVideoStreams:停止/恢复订阅所有远端视频流,包含后入会成员的订阅。

    int SubscribeAllRemoteVideoStreams (bool sub)=0

    参数说明

    参数

    类型

    描述

    sub

    bool

    是否订阅所有远端视频流。

    true:订阅所有用户的视频流,后入会成员会自动订阅其视频。

    false:停止订阅所有用户的视频流,后入会成员也不会自动订阅其视频。

    返回说明

    0:设置成功;非0:设置失败。

    重要

    入会前入会后均可以调用。如果设置了SubscribeAllRemoteVideoStreams(false),会取消订阅已订阅的远端视频流,同时后面再入会的人不会进行自动订阅;但是依然可以通过SubscribeRemoteVideoStream来主动订阅某个人的远端视频流。

  • SubscribeRemoteVideoStream:停止/恢复订阅远端用户的视频流。

    int SubscribeRemoteVideoStream (const char *uid, RtcEngineVideoTrack track, bool sub)=0

    参数说明

    参数

    类型

    描述

    uid

    const char *

    用户ID,从Appserver分配的唯一标示符。

    track

    RtcEngineVideoTrack

    视频流类型RtcEngineVideoTrack

    sub

    bool

    是否订阅远端用户的视频流。

    true:订阅指定用户的视频流。

    false:停止订阅指定用户的视频流。

    返回说明

    0:设置成功;非0:设置失败。

    重要

    如果设置了SubscribeAllRemoteVideoStreams(false),会取消订阅已订阅的远端视频流,同时后面再入会的人不会进行自动订阅;但是依然可以通过SubscribeRemoteVideoStream来主动订阅某个人的远端视频流。

  • SetRemoteVideoStreamType:设置订阅视频流分辨率规格。

    int SetRemoteVideoStreamType (const char *uid, RtcEngineVideoStreamType streamType)=0

    参数说明

    参数

    类型

    描述

    uid

    const char *

    用户ID,从Appserver分配的唯一标示符。

    streamType

    RtcEngineVideoStreamType

    视频流的分辨率规格。

    返回说明

    0:成功;非0:失败。

  • SetRemoteDefaultVideoStreamType:设置默认订阅的视频流分辨率规格;如果不设置,则默认订阅最大的分辨率规格。

    int SetRemoteDefaultVideoStreamType (RtcEngineVideoStreamType streamType)=0

    参数说明

    参数

    类型

    描述

    streamType

    RtcEngineVideoStreamType

    视频流的分辨率规格。

    返回说明

    0:成功;非0:失败。

  • GetVideoDeviceManager:获取视频设备管理类接口。

    RtcEngineVideoDeviceManager * GetVideoDeviceManager ()=0

    返回说明

    视频设备管理类接口。

  • MuteLocalVideo:停止/恢复本地视频数据发送。

    int MuteLocalVideo (bool mute, RtcEngineVideoTrack track)=0

    参数说明

    参数

    类型

    描述

    mute

    bool

    true表示视频数据发送黑帧。

    false表示恢复正常。

    track

    RtcEngineVideoTrack

    只支持RtcEngineVideoTrackCamera。

    返回说明

    0:成功;非0:失败。

    重要

    mute状态会保持,除非再次调用MuteLocalVideo更新,或者重新创建engineinstance。

  • EnableLocalVideo:禁用或启用本地视频采集。

    int EnableLocalVideo (bool enabled)=0

    参数说明

    参数

    类型

    描述

    enabled

    bool

    true:启用本地视频采集。

    false:禁用本地视频采集。

    返回说明

    0:成功;非0:失败。

    重要

    默认为开启状态。

  • SetVideoEncoderConfiguration:设置相机流视频编码属性。

    void SetVideoEncoderConfiguration (const RtcEngineVideoEncoderConfiguration &config)=0

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

    参数说明

    参数

    类型

    描述

    config

    RtcEngineVideoEncoderConfiguration &

    预定义的编码属性,详见RtcEngineVideoEncoderConfiguration

    重要

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

  • SetScreenShareEncoderConfiguration:设置屏幕流视频编码属性。

    void SetScreenShareEncoderConfiguration (const RtcEngineScreenShareEncoderConfiguration &config)=0

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

    参数说明

    参数

    类型

    描述

    config

    RtcEngineScreenShareEncoderConfiguration &

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

    重要

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

  • SetLocalViewConfig:设置本地预览显示视图。

    int SetLocalViewConfig (RtcEngineVideoCanvas renderConfig, RtcEngineVideoTrack track)=0

    参数说明

    参数

    类型

    描述

    renderConfig

    RtcEngineVideoCanvas

    本地视频显示属性。

    track

    RtcEngineVideoTrack

    只支持RtcEngineVideoTrackCamera和RtcEngineVideoTrackScreen。

    返回说明

    0:成功;非0:失败。

    重要

    支持joinChannel之前和之后切换窗口。如果displayView为null,则停止显示。如果需要重新设置renderMode,请保持renderConfig中其他属性不变,仅修改renderMode。如果需要重新设置mirrorMode,请保持renderConfig中其他属性不变,仅修改mirrorMode。

  • SetRemoteViewConfig:设置远端视频显示视图。

    int SetRemoteViewConfig (RtcEngineVideoCanvas renderConfig, const char *uid, RtcEngineVideoTrack track)=0

    参数说明

    参数

    类型

    描述

    renderConfig

    RtcEngineVideoCanvas

    远端视频显示属性。

    uid

    const char *

    userid。

    track

    RtcEngineVideoTrack

    只支持RtcEngineVideoTrackCamera和RtcEngineVideoTrackScreen。

    返回说明

    0:成功;非0:失败。

    重要

    如果displayView为null,则停止显示。如果需要重新设置renderMode,请保持renderConfig中其他属性不变,仅修改renderMode。如果需要重新设置mirrorMode,请保持renderConfig中其他属性不变,仅修改mirrorMode。

  • UpdateViewConfig:更新渲染配置。

    int UpdateViewConfig (RtcEngineVideoCanvas renderConfig)=0

    参数说明

    参数

    类型

    描述

    renderConfig

    RtcEngineVideoCanvas

    config包含了窗口以及渲染方式。

    返回说明

    0:成功;非0:失败。

  • RegisterVideoFrameObserver:注册视频帧观察类对象。

    int RegisterVideoFrameObserver (RtcEngineVideoFrameObserver *observer)=0

    参数说明

    参数

    类型

    描述

    observer

    RtcEngineVideoFrameObserver *

    视频观察类对象指针。

    返回说明

    0:成功;非0:失败。

  • EnableVideoFrameObserver:设置视频帧数据观察开关。

    int EnableVideoFrameObserver (bool enabled, unsigned int position)=0

    参数说明

    参数

    类型

    描述

    enabled

    bool

    是否允许数据回调。

    position

    unsigned int

    视频数据类型,详见RtcEngineVideoObservePosition。

    返回说明

    0:success。

  • SetExternalVideoSource:设置外部视频输入源。

    int SetExternalVideoSource (bool enable, RtcEngineVideoTrack track)=0

    参数说明

    参数

    类型

    描述

    enable

    bool

    true开启。

    false关闭。

    track

    RtcEngineVideoTrack

    视频流类型。

    返回说明

    0:成功;非0:失败。

  • PushExternalVideoFrame:推送外部视频帧。

    int PushExternalVideoFrame (RtcEngineVideoFrame *frame, RtcEngineVideoTrack track)=0

    参数说明

    参数

    类型

    描述

    frame

    RtcEngineVideoFrame *

    外部视频帧,详见RtcEngineVideoFrame

    track

    RtcEngineVideoTrack

    视频流类型RtcEngineVideoTrack

    返回说明

    0:成功;非0:失败。

  • SetAudioProfile:设置音频profile。

    int SetAudioProfile (int audioProfile, int audioScene)=0

    参数说明

    参数

    类型

    描述

    audioProfile

    int

    音频采集/编码模式参数,详见RtcEngineAudioProfile

    audioScene

    int

    音频场景模式参数,详见RtcEngineAudioScenario

    返回说明

    0:成功;其他:失败。

    重要

    缺省RtcEngineHighQualityMode模式。

  • EnableAudioVolumeIndication:设置音量回调频率和平滑系数。

    int EnableAudioVolumeIndication (int interval, int smooth, int reportVad)=0

    参数说明

    参数

    类型

    描述

    interval

    int

    时间间隔,单位毫秒,最小值不得小于100ms,建议设置300-500ms,<=0表示不启用音量提示和说话人提示功能。

    smooth

    int

    平滑系数,数值越大平滑程度越高,反之越低,实时性越好,建议设置3,范围[0,9]。

    reportVad

    int

    1:开启。

    0:关闭。

    返回说明

    0:成功;<0:失败。

  • SetExternalAudioSource:设置外部音频源参数。

    int SetExternalAudioSource (bool enable, int sampleRate, int channels)=0

    参数说明

    参数

    类型

    描述

    enable

    bool

    true:开启。

    false:关闭。

    sampleRate

    int

    采样率(Hz),取值:8000,16000,32000,44100,48000。

    channels

    int

    声道数,取值:1:单声道;2:双声道。

    返回说明

    >=0:成功;<0:失败。

  • PushExternalAudioFrame:推送外部音频采集源。

    int PushExternalAudioFrame (RtcEngineAudioFrame *frame)=0

    参数说明

    参数

    类型

    描述

    frame

    RtcEngineAudioFrame *

    外部音频帧,详见RtcEngineAudioFrame

    返回说明

    0:成功;<0:失败。

  • SetExternalAudioRender:设置是否启用外部输入音频播放

    int SetExternalAudioRender (bool enable, int sampleRate, int channels)=0

    参数说明

    参数

    类型

    描述

    enable

    bool

    true:开启

    false:关闭

    sampleRate

    int

    采样率(Hz),取值:8000,16000,32000,44100,48000

    channels

    int

    声道数1:单声道;2:双声道

    返回说明

    0:成功非0:失败

  • PushExternalAudioRenderFrame:推送外部音频到扬声器

    int PushExternalAudioRenderFrame (RtcEngineAudioFrame *frame)=0

    参数说明

    参数

    类型

    描述

    frame

    RtcEngineAudioFrame *

    外部音频帧,详见RtcEngineAudioFrame

    返回说明

    0:成功<0:失败

  • StartRecord:开始录制。

    bool StartRecord (RtcEngineRecordOptions recordOption, const char *filePath, const char *name)=0

    SDK提供了屏录录制的功能,可以录制本地或远端的音频流、视频流、相机流。

    参数说明

    参数

    类型

    描述

    filePath

    文件路径。

    name

    文件名称。

    返回说明

    true:成功;false:失败。

  • UpdateRecordLayout:更新录制内容信息。

    bool UpdateRecordLayout (RtcEngineRecordVideoLayout &layout)=0

    SDK提供了更新录制内容信息的功能,用于实时更新录制模板内容设置。

    参数说明

    参数

    类型

    描述

    layout

    RtcEngineRecordVideoLayout &

    录制视频内容及布局,详细定义见AliEngineRecordVideoLayout。

    返回说明

    true:成功;false:失败。

    重要

    此接口应该在录制过程中调用。

  • PauseRecord:暂停录制。

    bool PauseRecord ()=0

    SDK提供了暂停录制的功能。

    返回说明

    true:成功;false:失败。

  • ResumeRecord:重新开始录制。

    bool ResumeRecord ()=0

    SDK提供了重新开始录制的功能。

    返回说明

    true:成功;false:失败。

  • StopRecord:停止录制。

    void StopRecord ()=0

    SDK提供了停止录制的功能。

  • SnapshotVideo:对指定用户的视频进行截图,生成一张JPG格式的图片,并保存至指定的路径。

    int SnapshotVideo (const char *userId, const RtcEngineVideoTrack &trackType, const char *filePath)=0

    参数说明

    参数

    类型

    描述

    userId

    const char *

    用户ID,userId为""代表本地用户。

    trackType

    const RtcEngineVideoTrack &

    视频流类型,只支持RtcEngineVideoTrackCameraRtcEngineVideoTrackScreen。

    filePath

    const char *

    截图的本地保存路径,需精确到文件名及格式,请确保目录存在且可写。如xx/yy/zz.jpg。

    返回说明

    0:仅代表调用该接口成功,是否获取到截图画面,详见OnSnapshotComplete<0:失败。

    重要

    视频截图功能为异步接口,通过监听OnSnapshotComplete回调获取当前截图画面。

  • IsScreenSharePublished:是否推送屏幕分享。

    bool IsScreenSharePublished ()=0

    返回说明

    true:会推送;false:不会推送。

    重要

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

  • StartScreenShareByDesktopId:根据桌面ID进行屏幕分享。

    int StartScreenShareByDesktopId (const char *desktopId, const RtcEngineScreenShareConfig &config)=0

    参数说明

    参数

    类型

    描述

    desktopId

    const char *

    桌面ID(可通过GetScreenShareSourceInfo接口获取)。

    config

    RtcEngineScreenShareConfig &

    Reserved.屏幕分享配置,详见RtcEngineScreenShareConfig

    返回说明

    0:成功;<0:失败。

    重要

    config用来设置区域共享,reserved。

  • StartScreenShareByWindowId:根据窗口ID进行屏幕分享。

    int StartScreenShareByWindowId (const char *windowId, const RtcEngineScreenShareConfig &config)=0

    参数说明

    参数

    类型

    描述

    windowId

    const char *

    窗口ID(可通过GetScreenShareSourceInfo接口获取)。

    config

    RtcEngineScreenShareConfig &

    Reserved.屏幕分享配置,详见RtcEngineScreenShareConfig

    返回说明

    0:成功;<0:失败。

    重要

    config用来设置区域共享,reserved。

  • StopScreenShare:停止屏幕分享。

    int StopScreenShare ()=0

    返回说明

    0:成功;<0:失败。

  • GetScreenShareSourceInfo:获取屏幕分享源信息。

    RtcEngineDeviceInfoList * GetScreenShareSourceInfo (RtcEngineScreenShareType sourceType)=0

    参数说明

    参数

    类型

    描述

    sourceType

    RtcEngineScreenShareType

    屏幕分享类型。

    返回说明

    返回屏幕共享源列表,详见RtcEngineDeviceInfoList。

    重要

    请在遍历完屏幕共享源列表后调用其release成员方法,由SDK内部释放相关资源。

  • GetCurrentScreenShareSourceId:获取当前屏幕共享源Id。

    unsigned int GetCurrentScreenShareSourceId ()=0

    返回说明

    当前屏幕共享源Id。

  • GetCurrentScreenShareSourceType:获取当前屏幕共享源类型。

    RtcEngineScreenShareType GetCurrentScreenShareSourceType ()=0

    返回说明

    RtcEngineScreenShareType当前屏幕共享源类型,详见RtcEngineScreenShareType

  • GetAudioDeviceManager:获取音频设备管理类接口。

    RtcEngineAudioDeviceManager * GetAudioDeviceManager ()=0

    返回说明

    音频设备管理类接口。

  • MuteLocalAudio:静音/取消静音本地音频数据。

    int MuteLocalAudio (bool mute)=0

    参数说明

    参数

    类型

    描述

    mute

    bool

    true表示静音本地音频,发送静音帧。

    false表示取消静音。

    返回说明

    0:成功;非0:失败。

    重要

    mute状态会保持,除非再次调用MuteLocalAudio更新,或者重新创建engineinstance。

  • SetAudioProfile:设置音频profile。

    int SetAudioProfile (int audioProfile, int audioScene)=0

    参数说明

    参数

    类型

    描述

    audioProfile

    int

    音频采集/编码模式参数,详见RtcEngineAudioProfile

    audioScene

    int

    音频场景模式参数,详见RtcEngineAudioScenario

    返回说明

    0:成功;其他:失败。

    重要

    缺省RtcEngineHighQualityMode模式。

  • EnableAudioVolumeIndication:设置音量回调频率和平滑系数。

    int EnableAudioVolumeIndication (int interval, int smooth, int reportVad)=0

    参数说明

    参数

    类型

    描述

    interval

    int

    时间间隔,单位毫秒,最小值不得小于100ms,建议设置300-500ms,<=0表示不启用音量提示和说话人提示功能。

    smooth

    int

    平滑系数,数值越大平滑程度越高,反之越低,实时性越好,建议设置3,范围[0,9]。

    reportVad

    int

    1:开启。

    0:关闭。

    返回说明

    0:成功;<0:失败。

  • SetExternalAudioSource:设置外部音频源参数。

    int SetExternalAudioSource (bool enable, int sampleRate, int channels)=0

    参数说明

    参数

    类型

    描述

    enable

    bool

    true:开启。

    false:关闭。

    sampleRate

    int

    采样率(Hz),取值:8000,16000,32000,44100,48000。

    channels

    int

    声道数,取值:1:单声道;2:双声道。

    返回说明

    >=0:成功;<0:失败。

  • PushExternalAudioFrame:推送外部音频采集源。

    int PushExternalAudioFrame (RtcEngineAudioFrame *frame)=0

    参数说明

    参数

    类型

    描述

    frame

    RtcEngineAudioFrame *

    外部音频帧,详见RtcEngineAudioFrame

    返回说明

    0:成功;<0:失败。

  • SetExternalAudioRender:设置是否启用外部输入音频播放

    int SetExternalAudioRender (bool enable, int sampleRate, int channels)=0

    参数说明

    参数

    类型

    描述

    enable

    bool

    true:开启

    false:关闭

    sampleRate

    int

    采样率(Hz),取值:8000,16000,32000,44100,48000

    channels

    int

    声道数1:单声道;2:双声道

    返回说明

    0:成功非0:失败

  • PushExternalAudioRenderFrame:推送外部音频到扬声器

    int PushExternalAudioRenderFrame (RtcEngineAudioFrame *frame)=0

    参数说明

    参数

    类型

    描述

    frame

    RtcEngineAudioFrame *

    外部音频帧,详见RtcEngineAudioFrame

    返回说明

    0:成功<0:失败

  • StartPreview:开启本地视频预览。

    int StartPreview ()=0

    返回说明

    0:成功;非0:失败。

    重要

    如果没有调用SetLocalViewConfig设置显示的view,则无法预览。可以在JoinChannel之前就开启预览会自动打开摄像头。调用LeaveChannel不会关闭本地预览,会一直保留,直到调用StopPreview结束。

  • StopPreview:关闭本地视频预览。

    int StopPreview ()=0

    返回说明

    0:成功;非0:失败。

    重要

    LeaveChannel会自动停止本地预览;如果没有在推相机流,则会自动关闭摄像头。

  • GetOnlineRemoteUsers:获取远端在线用户列表。

    void GetOnlineRemoteUsers (StringArray &userList)=0

    参数说明

    参数

    类型

    描述

    userList

    StringArray &

    当前频道内所有在线用户userid列表。

  • GetUserInfo:查询远端用户状态。

    int GetUserInfo (const char *uid, Dictionary &dict)=0

    通过uid查询,指定远端用户的状态信息,参数dict类型为标准std::map容器,通过键值对的方式进行访问。

    参数说明

    参数

    类型

    描述

    uid

    const char *

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

    dict

    Dictionary &

    App提供的容器,用于存放用户数据。

    返回说明

    0:成功;非0:失败,返回值为具体的错误码。

    重要

    Key信息:userID:远端用户的ID。isOnline:远端用户是否在线。displayName:远端用户的名称。hasAudio:远端用户是否推送了音频流。hasCamera:远端用户是否推送了相机流。hasScreenSharing:远端用户是否推送了屏幕流。requestAudio:本端是否订阅了此远端用户的音频流。requestCamera:本端是否订阅了此远端用户的相机流。此状态,系在成功订阅该用户摄像头流前的状态。requestScreenSharing:本端是否订阅了此远端用户的屏幕流。此状态,系在成功订阅该用户屏幕共享前的状态。preferCameraType:如果网络带宽允许,优先订阅的相机流的大小规格,选择范围:FHD,HD,SD,LD。subScribedAudio:本端是否拉到了此远端用户的音频流。subScribedCameraType:本端拉到了此远端用户的相机流的大小规格,可能的值:FHD,HD,SD,LD。subScribedScreenSharing:本端是否拉到了此远端用户的屏幕流。hasCameraView:本端是否设置了此远端用户相机流的view。hasScreenView:本端是否设置了此远端用户屏幕流的view。isCameraMirror:本端是否设置了此远端用户的相机流为镜像。isScreenMirror:本端是否设置了此远端用户的屏幕流为镜像。

  • IsUserOnline:查询用户是否在线。

    bool IsUserOnline (const char *uid)=0

    参数说明

    参数

    类型

    描述

    uid

    const char *

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

    返回说明

    true:用户在线;false:用户不在线。

    重要

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

  • GetLogDirPath:获取当前SDK日志文件保存路径,包含SDK添加的子目录。

    bool GetLogDirPath (char *buf, int maxBufSize)

    参数说明

    参数

    类型

    描述

    buf

    char *

    用于接收目录,不允许NULL。

    maxBufSize

    int

    buf的大小。拷贝时包含字符串的结束符'\0'。

    返回说明

    true,成功,路径存放在buf中;false,失败,一种可能是提供的buf长度过短,放不下;另一种可能是尚未设置日志路径。

  • SetLogLevel:设置日志等级。

    int SetLogLevel (RtcEngineLogLevel logLevel)

    参数说明

    参数

    类型

    描述

    logLevel

    RtcEngineLogLevel

    Log级别,详见RtcEngineLogLevel枚举类型。

    返回说明

    0:成功;非0:失败。比如没有先调用SetLogDirPath。

    重要

    如果设置为RtcEngineLogLevelNone,那么停止日志输出。

  • GetErrorDescription:根据错误码,获取错误码描述,也适用于获取Warning的描述。

    const char * GetErrorDescription (int error_code)

    参数说明

    参数

    类型

    描述

    error_code

    int

    错误码,详见RtcEngineErrorCode

    返回说明

    错误码描述字符串。

    重要

    在任何时刻都可以调用。

  • GetCurrentConnectionStatus:获取当前网络链接状态。

    RtcEngineConnectionStatus GetCurrentConnectionStatus ()=0

    返回说明

    当前链接状态,参考RtcEngineConnectionStatus

    重要

    网络链接状态发生变化时,SDK会通过OnConnectionStatusChanged回调通知。