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

接口说明

查看所有接口详情,请参见AliEngine

目录

基础接口

API 描述 支持的最低版本
SetH5CompatibleMode 设置H5兼容模式。 1.1
GetH5CompatibleMode 检查当前是否兼容H5。 1.1
Create 创建一个AliEngine实例。 2.1
Destroy SDK资源释放。 1.1
UploadLog 上传日志。 1.15
SetLogDirPath 设置SDK日志文件保存路径。 1.16.2
SetEngineEventListener 设置回调。 2.1
QueryInterface 获取功能接口实例。 2.1

频道相关接口

API 描述 支持的最低版本
JoinChannel 加入频道。 1.1
LeaveChannel 离开频道。 1.1
SwitchChannel 切换频道。 2.1
IsInCall 检查当前是否在频道中。 1.1
SetChannelProfile 设置频道模式。 1.15
CreateChannel 创建一个AliEngine子频道实例。 2.1
DestroyChannel 销毁CreateChannel创建的子频道。 2.1

发布相关接口

API 描述 支持的最低版本
PublishLocalVideoStream 设置是否允许推视频流。 2.1
IsLocalVideoStreamPublished 查询当前是否允许推视频流。 1.1
IsScreenSharePublished 查询当前是否允许推屏幕流。 1.1
PublishLocalAudioStream 设置是否允许推音频流。 2.1
IsLocalAudioStreamPublished 查询当前是否允许推音频流。 1.1
PublishLocalDualStream 设置是否允许推次要视频流。 2.1
IsDualStreamPublished 查询当前是否允许推次要视频流。 2.1

订阅相关接口

API 描述 支持的最低版本
SetRemoteVideoStreamType 设置订阅的相机流格式。 2.1
SetRemoteDefaultVideoStreamType 设置默认订阅的相机流格式。 2.1
SetDefaultSubscribeAllRemoteAudioStreams 设置是否默认拉音频流。 2.1
SubscribeAllRemoteAudioStreams 停止或恢复拉所有远端音频流。 2.1
SubscribeRemoteAudioStream 停止或恢复特定远端用户的音频流拉取。 2.1
SetDefaultSubscribeAllRemoteVideoStreams 设置是否默认拉视频流。 2.1
SubscribeAllRemoteVideoStreams 停止或恢复拉所有远端视频流。 2.1
SubscribeRemoteVideoStream 停止或恢复特定远端用户的视频流拉取。 2.1

视频相关接口

API 描述 支持的最低版本
SetScreenShareEncoderConfiguration 设置屏幕共享编码属性。 2.1
SetLocalViewConfig 为本地预览设置渲染窗口以及绘制参数。 1.1
SetCameraCapturerConfiguration 设置摄像头采集偏好。 2.1
SetDeviceOrientationMode 设置设备方向(适用于Android或iOS端)。 2.1
EnableLocalVideo 禁用或重新启用本地视频采集。 2.1
MuteLocalCamera 设置是否停止推本地视频流。 1.1
MuteAllRemoteVideo 停止或恢复远端所有的视频渲染。 2.1
SetRemoteViewConfig 为远端的视频设置渲染窗口以及绘制参数。 1.1
UpdateViewConfig 更新渲染配置。 2.1
IsCameraOn 检查摄像头是否打开。 1.1
StopRecord 停止录制。 1.17
StartRecord 开始录制(非布局录制)。 1.17
StartRecord 开始录制(窗口布局录制)。 2.1
UpdateRecordLayout 更新录制内容信息。 2.1
AddRecordTemplate 添加录制模板。 2.1
PauseRecord 暂停录制。 2.1
ResumeRecord 重新开始录制。 2.1
SetBeautyEffect 设置基础美颜。 1.17.9
SetVideoEncoderConfiguration 设置视频编码属性。 2.1
AddVideoWatermark 添加水印。 2.1
ClearVideoWatermark 清理对应数据流水印信息。 2.1
SnapshotVideo 截图。 2.1
SwitchCamera 切换前后摄像头(适用于Android或iOS端)。 2.1
GetCurrentCameraDirection 获取当前摄像头方向(适用于Android或iOS端)。 2.1
SetCameraZoom 设置摄像头缩放比例(适用于Android或iOS端)。 2.1
SetCameraFlash 设置摄像头闪光灯是否打开(适用于Android或iOS端)。 2.1
IsCameraFocusPointSupported 摄像头是否支持手动聚焦(适用于Android或iOS端)。 2.1
IsCameraExposurePointSupported 摄像头是否支持设置曝光区域(适用于Android或iOS端)。 2.1
SetCameraFocusPoint 设置摄像头手动聚焦(适用于Android或iOS端)。 2.1
SetCameraExposurePoint 设置摄像头曝光点(适用于Android或iOS端)。 2.1
IsCameraAutoFocusFaceModeSupported 摄像头是否支持人脸聚焦(适用于Android或iOS端)。 2.1
SetCameraAutoFocusFaceModeEnabled 设置摄像头人脸对焦(适用于Android或iOS端)。 2.1
GetIfUserFetchObserverData 视频输出数据是否由用户来获取。 2.4
GetVideoAlignment 视频输出宽度对齐方式。 2.4
GetObserverDataMirrorApplied 视频输出数据是否需要镜像。 2.4
GetSmoothRenderingEnabled 拉流视频数据是否平滑输出。 2.4
GetVideoCaptureData 主动获取采集数据。 2.4
GetVideoPreEncoderData 主动获取编码前数据。 2.4
GetVideoRenderData 主动获取拉流数据。 2.4

共享视频接口

API 描述 支持的最低版本
StartScreenShareByDesktopId 根据桌面ID进行屏幕分享。 2.1
StartScreenShareByScreenRegion 根据屏幕区域进行屏幕分享。 2.1
StartScreenShareByWindowId 根据窗口ID进行屏幕分享。 2.1
StartScreenShare 开始屏幕分享(适用于Android或iOS端)。 2.1
StopScreenShare 停止屏幕分享。 2.1
UpdateScreenShareConfig 更新屏幕分享配置。 2.1
GetScreenShareConfig 获取屏幕共享配置。 2.1
GetScreenShareSourceInfo 获取屏幕分享源信息。 2.1
GetCurrentScreenShareSourceId 获取当前屏幕共享源ID。 2.1
GetCurrentScreenShareSourceType 获取当前屏幕共享源类型。 2.1
GetDesktopRegion 获取屏幕分享桌面区域。 2.1

音频相关接口

API 描述 支持的最低版本
SetAudioOnlyMode 设置为纯音频模式还是音视频模式。 1.1
IsAudioOnlyMode 查询当前是否为纯音频模式。 1.1
MuteLocalMic 设置是否停止推本地音频。 1.1
MuteRemoteAudio 设置是否停止播放远端音频流。 1.1
MuteAllRemoteAudio 停止或恢复远端所有的音频播放。 1.16.2
StartAudioCapture 开启音频采集。 1.11
StartAudioCapture 开启音频采集。此接口可以控制提前打开音频采集,如果不设置,则SDK会在合适的时机打开音频采集。 2.2
StopAudioCapture 关闭音频采集。 1.11
StartAudioPlayer 开启音频播放设备。 1.11
StopAudioPlayer 关闭音频播放。 1.11
SetRemoteAudioVolume 设置本地播放的指定远端用户音量。 2.1
SetDefaultAudioRouteToSpeakerphone 设置默认音频输出为听筒或扬声器(适用于Android或iOS端)。 2.1
EnableSpeakerphone 设置音频输出为听筒或扬声器(适用于Android或iOS端)。 2.1
IsEnableSpeakerphone 获取当前音频输出为听筒还是扬声器(适用于Android或iOS端)。 2.1
SetRecordingVolume 设置录音音量。 1.16.2
SetPlayoutVolume 设置播放音量。 1.16.2
EnableAudioVolumeIndication 设置音量回调频率和平滑系数,默认不启用。 1.17.9
SetAudioProfile 设置音频Profile。 2.1
SetDeviceVolumeType 设置音量类型(适用于iOS端)。 2.1
EnableAudioDTX 开启本地音频流量控制(检测语音)。 2.1
EnableAudioAMD 开启本地音频流量控制(检测麦克风)。 2.1
SetAudioEffectVoiceChangerMode 设置变声音效模式。 2.1
SetAudioEffectPitchValue 设置变调参数。 2.1
SetAudioEffectReverbMode 设置混响音效模式。 2.1
SetAudioEffectReverbParamType 设置混响音效类型和具体参数。 2.1
StartAudioAccompany 开始混音(适用于Android或iOS端)。 2.1
StopAudioAccompany 停止混音(适用于Android或iOS端)。 2.1
SetAudioAccompanyVolume 设置混音音量(适用于Android或iOS端)。 2.1
SetAudioAccompanyPublishVolume 设置混音之后推流出去的音量(适用于Android或iOS端)。 2.1
GetAudioAccompanyPublishVolume 获取推流出去的混音音量(适用于Android或iOS端)。 2.1
SetAudioAccompanyPlayoutVolume 设置混音之后本地播放的音量(适用于Android或iOS端)。 2.1
GetAudioAccompanyPlayoutVolume 获取混音本地播放的音量(适用于Android或iOS端)。 2.1
PauseAudioAccompany 暂停混音(适用于Android或iOS端)。 2.1
ResumeAudioAccompany 重新开始混音(适用于Android或iOS端)。 2.1
GetAudioAccompanyDuration 获取伴奏文件时长(适用于Android或iOS端)。 2.1
GetAudioAccompanyCurrentPosition 获取音乐文件播放进度(适用于Android或iOS端)。 2.1
SetAudioAccompanyPosition 设置音频文件的播放位置(适用于Android或iOS端)。 2.1
PreloadAudioEffect 预加载音效文件(适用于Android或iOS端)。 2.1
UnloadAudioEffect 删除预加载的音效文件(适用于Android或iOS端)。 2.1
PlayAudioEffect 开始播放音效(适用于Android或iOS端)。 2.1
StopAudioEffect 停止播放音效(适用于Android或iOS端)。 2.1
StopAllAudioEffects 停止播放所有音效(适用于Android或iOS端)。 2.1
SetAudioEffectPublishVolume 设置音效推流音量(适用于Android或iOS端)。 2.1
GetAudioEffectPublishVolume 获取推流音效音量(适用于Android或iOS端)。 2.1
SetAudioEffectPlayoutVolume 设置音效本地播放音量(适用于Android或iOS端)。 2.1
GetAudioEffectPlayoutVolume 获取音效本地播放音量(适用于Android或iOS端)。 2.1
SetAllAudioEffectsPublishVolume 设置所有音效本地播放音量(适用于Android或iOS端)。 2.1
SetAllAudioEffectsPlayoutVolume 设置所有音效推流音量(适用于Android或iOS端)。 2.1
PauseAudioEffect 暂停音效(适用于Android或iOS端)。 2.1
PauseAllAudioEffects 暂停所有音效(适用于Android或iOS端)。 2.1
ResumeAudioEffect 重新开始播放音效(适用于Android或iOS端)。 2.1
ResumeAllAudioEffects 重新开始播放所有音效(适用于Android或iOS端)。 2.1
EnableEarBack 启用耳返(适用于Android或iOS端)。 2.1
SetEarBackVolume 设置耳返音量(适用于Android或iOS端)。 2.1
EnableSystemAudioRecording 设置是否开启系统声音采集推送。 2.1
IsSystemAudioRecording 当前是否开启系统声音采集推送。 2.1
SetSystemAudioRecordingVolume 设置系统声音采集推送音量。 2.1
GetSystemAudioRecordingVolume 获取当前设置系统声音采集推送音量。 2.1
SetRecordingDeviceMute 静音音频采集设备。 2.4
GetRecordingDeviceMute 获取音频采集设备静音状态。 2.4
SetPlaybackDeviceMute 静音音频播放设备。 2.4
GetPlaybackDeviceMute 获取音频播放设备静音状态。 2.4

直播旁路接口

API 描述 支持的最低版本
StartPublishLiveStream 开启旁路直播。 2.4
UpdatePublishLiveStream 更新旁路直播相关参数。 2.4
StopPublishLiveStream 停止旁路直播。 2.1
UpdateLiveStreamingViewConfig 更新直播拉流窗口及渲染参数。 2.1
GetPublishLiveStreamState 获取旁路直播状态。 2.4

跨频道连麦接口

API 描述 支持的最低版本
StartChannelRelay 开启跨频道连麦。 2.1
UpdateChannelRelay 更新跨频道连麦。 2.1
StopChannelRelay 停止跨频道连麦。 2.1
EnableBackgroundExchange 开启或关闭虚拟背景替换功能。 2.4
EnableBackgroundBlur 开启或关闭虚拟背景虚化功能。 2.4

预览接口

API 描述 支持的最低版本
StartPreview 开始本地预览。 1.1
StopPreview 停止本地预览。 1.1

远端用户查询接口

API 描述 支持的最低版本
GetOnlineRemoteUsers 获取远端在线用户列表。 1.1
GetUserInfo 查询远端用户信息。 1.1
IsUserOnline 查询用户是否在线。 1.1

其他接口

API 描述 支持的最低版本
SetLogLevel 设置日志级别。 1.1
GetSDKVersion 获取SDK版本号。 1.1
GetErrorDescription 获取错误码描述 2.1
GetEncodeParam 获取编码分辨率 2.1
SetClientRole 设置用户角色。 1.16
GetClientRole 获取用户角色。 1.17.19
StartLastmileDetect 开始网络质量探测。 1.16.2
StopLastmileDetect 停止网络质量探测。 1.16.2
PostFeedback SDK问题反馈。 1.17.12
SendMediaExtensionMsg 发送媒体扩展信息。 1.17.1
StartIntelligentDenoise 开启智能降噪。 1.17.19
StopIntelligentDenoise 关闭智能降噪。 1.17.19
RefreshAuthInfo 刷新令牌。 1.17.41
SetAudioSessionOperationRestriction 设置SDK对AVAudioSession的控制权限(适用于iOS端)。 2.1
GetCurrentConnectionStatus 获取当前网络链接状态。 2.1
ShowDebugView 展示用户Debug数据。 2.4

接口详情

  • SetH5CompatibleMode:设置是否兼容H5。
    static void SetH5CompatibleMode(bool comp);
    参数说明
    名称 类型 描述
    comp bool 是否兼容H5。取值:
    • true:兼容H5。
    • false(默认值):不兼容H5。
    重要 当前版本不支持在创建AliEngine实例之后更改H5兼容模式,必须在创建实例之前就调用此方法。
  • GetH5CompatibleMode:检查当前是否兼容H5。
    static bool GetH5CompatibleMode();
    返回说明

    true表示兼容H5,false表示不兼容H5。

  • Create:获取一个AliEngine实例。
    static AliEngine *Create(const char *extras);
    参数说明
    名称 类型 描述
    extras const char * 通过JSON配置SDK的特别功能,详情请参见extras功能说明
    重要 同一时间只会存在一个主实例。
  • Destroy:SDK资源释放。
    static AliEngine::Destroy();
    重要 在所有操作结束之后调用。
  • UploadLog:上传日志。默认会自动上传。
    static void UploadLog();
  • SetLogDirPath:设置SDK日志文件保存路径。
    static int SetLogDirPath(const char *logDirPath);
    参数说明
    名称 类型 描述
    logDirPath const char * 日志文件保存绝对路径。默认路径:%appdata%目录下。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    重要 如需调用此接口,请在调用所有SDK接口前进行设置,避免日志出现丢失,同时App必须保证指定的目录已存在且可写入。
  • SetEngineEventListener:设置回调。
    int SetEngineEventListener(AliEngineEventListener *listener);
    参数说明
    名称 类型 描述
    listener AliEngineEventListener * 回调类指针。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • QueryInterface:获取功能接口实例。
    int QueryInterface(AliEngineInterfaceIdType iid, void** pInterface);
    参数说明
    名称 类型 描述
    iid AliEngineInterfaceIdType 功能接口类型。
    pInterface void** 设备管理或媒体引擎的二级指针。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • JoinChannel:加入频道。
    int JoinChannel(const AliEngineAuthInfo &authInfo,const char *userName);
    参数说明
    名称 类型 描述
    authInfo const AliEngineAuthInfo & 鉴权信息。
    userName const char * 用户的显示名称(不是用户ID)。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明
    • 加入频道成功后,如果中途需要加入其他频道,必须先调用LeaveChannel离开当前频道,如果加入频道失败,需要重试时,无需先调用LeaveChannel
    • 该接口是异步接口,是否成功加入频道,通过OnJoinChannelResult判断。
  • LeaveChannel:离开频道。
    int LeaveChannel();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明
    • 1.15及以上版本:销毁引擎只能通过Destroy方法。
    • 1.15以下版本:离开频道时,AliEngine实例会被销毁,如需继续加入频道等操作,需要重新调用Create初始化AliEngine实例。
    • 如果当前不在频道内,调用LeaveChannel不会对实例产生任何影响,但会产生消息,通知频道内其他用户。
  • SwitchChannel:切换频道。
    int SwitchChannel(const AliEngineAuthInfo &authInfo);
    参数说明
    名称 类型 描述
    authInfo const AliEngineAuthInfo & 鉴权信息。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    • 返回AliEngineErrorInvaildState,请确认是否频道模式或角色不匹配,或当前未加入任何频道中。
    • 返回AliEngineErrorInvaildArgument,请确认鉴权信息是否合法,或是否加入相同频道。
    • 返回AliEngineErrorInner为SDK内部状态错误。
    说明
    • 本方法只允许在直播模式AliEngineInteractiveLive下,观看角色AliEngineClientRoleLive使用。
    • 该接口是异步接口,调用此方法成功切换频道后,SDK会先触发离开原频道的OnLeaveChannelResult回调,再返回加入新频道的OnJoinChannelResult回调。
  • IsInCall:检查当前是否在频道中。
    bool IsInCall();
    返回说明

    true表示在频道中,false表示不在频道中。

  • SetChannelProfile:设置频道模式。
    int SetChannelProfile(const AliEngineChannelProfile channelProfile);
    参数说明
    名称 类型 描述
    channelProfile AliEngineChannelProfile 频道类型,默认为AliEngineCommunication。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 该接口只可以在加入频道之前调用,会议中不可以重新设置,离开频道后可以重新设置。
  • CreateChannel:创建一个AliEngine子频道实例。
    AliEngine * CreateChannel(const char* extras);
    参数说明
    名称 类型 描述
    extras const char* 接收来自客户灰度下发的参数。
    返回说明

    成功返回子频道实例,失败返回空指针。

  • DestroyChannel:销毁CreateChannel创建的子频道。
    void DestroyChannel();
  • PublishLocalVideoStream:设置是否允许推视频流。
    int PublishLocalVideoStream(bool enable);
    参数说明
    名称 类型 描述
    enable bool 是否允许推视频流。取值:
    • true(默认值):允许推视频流。
    • false:不允许推视频流。
  • IsLocalVideoStreamPublished:查询当前是否允许推视频流。
    bool IsLocalVideoStreamPublished();
    返回说明

    true表示允许推相机流,false表示不允许推相机流。

  • IsScreenSharePublished:查询当前是否允许推屏幕流。
    bool IsScreenSharePublished();
    返回说明

    true表示允许推相机流,false表示不允许推相机流。

  • PublishLocalAudioStream:设置是否允许推音频流。
    int PublishLocalAudioStream(bool enable);
    参数说明
    名称 类型 描述
    enable bool 是否允许推音频流。取值:
    • true(默认值):允许推音频流。
    • false:不允许推音频流。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • IsLocalAudioStreamPublished:查询当前是否允许推音频流。
    bool IsLocalAudioStreamPublished();
    返回说明

    true表示允许推音频流,false表示不允许推音频流。

  • PublishLocalDualStream:设置是否允许推次要视频流。
    int PublishLocalDualStream(bool enable);
    参数说明
    名称 类型 描述
    enable bool 是否允许推次要视频流。取值:
    • true(默认值):允许推次要视频流。
    • false:不允许推次要视频流。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • IsDualStreamPublished:查询当前是否允许推次要视频流。
    bool IsDualStreamPublished();
    返回说明

    true表示允许推次要视频流,false表示不允许推次要视频流。

  • SetRemoteVideoStreamType:设置订阅的相机流格式。
    int SetRemoteVideoStreamType(const char* uid,AliEngineVideoStreamType streamType);
    参数说明
    名称 类型 描述
    uid const char* 远端用户ID。
    streamType AliEngineVideoStreamType 相机流格式,默认值为AliEngineVideoStreamTypeHigh(大流)。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetRemoteDefaultVideoStreamType:设置默认订阅的相机流格式。
    int SetRemoteDefaultVideoStreamType(AliEngineVideoStreamType streamType);
    参数说明
    名称 类型 描述
    streamType AliEngineVideoStreamType 相机流格式,默认值为AliEngineVideoStreamTypeHigh(大流)。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetDefaultSubscribeAllRemoteAudioStreams:设置是否默认拉音频流。
    int SetDefaultSubscribeAllRemoteAudioStreams(bool sub);
    参数说明
    名称 类型 描述
    sub bool 是否订阅,取值:
    • true(默认值):订阅用户的音频流。
    • false:取消订阅用户的音频流。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SubscribeAllRemoteAudioStreams:停止或恢复拉所有远端音频流。
    int SubscribeAllRemoteAudioStreams(bool sub);
    参数说明
    名称 类型 描述
    sub bool 是否订阅,取值:
    • true(默认值):订阅所有远端用户的音频流。
    • false:取消订阅所有远端用户的音频流。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SubscribeRemoteAudioStream:停止或恢复特定远端用户的音频流拉取。
    int SubscribeRemoteAudioStream(const char* uid, bool sub);
    参数说明
    名称 类型 描述
    uid const char* 远端用户ID。
    sub bool 是否订阅,取值:
    • true(默认值):订阅指定用户的音频流。
    • false:取消订阅指定用户的音频流。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetDefaultSubscribeAllRemoteVideoStreams:设置是否默认拉视频流。
    int SetDefaultSubscribeAllRemoteVideoStreams(bool sub);
    参数说明
    名称 类型 描述
    sub bool 是否订阅,取值:
    • true(默认值):订阅用户的视频流。
    • false:取消订阅用户的视频流。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SubscribeAllRemoteVideoStreams:停止或恢复拉所有远端视频流。
    int SubscribeAllRemoteVideoStreams(bool sub);
    参数说明
    名称 类型 描述
    sub bool 是否订阅,取值:
    • true(默认值):订阅所有用户的视频流。
    • false:取消订阅所有用户的视频流。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SubscribeRemoteVideoStream:停止或恢复特定远端用户的视频流拉取。
    int SubscribeRemoteVideoStream(const char* uid, AliEngineVideoTrack track, bool sub);
    参数说明
    名称 类型 描述
    uid const char* 远端用户ID。
    track AliEngineVideoTrack 视频流类型。
    sub bool 是否订阅,取值:
    • true(默认值):订阅指定用户的视频流。
    • false:取消订阅指定用户的视频流。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetScreenShareEncoderConfiguration:设置屏幕共享编码属性。
    void SetScreenShareEncoderConfiguration(const AliEngineScreenShareEncoderConfiguration& config);
    参数说明
    名称 类型 描述
    config const AliEngineScreenShareEncoderConfiguration & 屏幕共享编码属性,默认值:
    • dimensions:(0,0)
    • frameRate:AliEngineFrameRateFps5
    • bitrate:512
    • rotationMode:AliEngineRotationMode_0
  • SetLocalViewConfig:为本地预览设置渲染窗口以及绘制参数。
    int SetLocalViewConfig(AliEngineVideoCanvas renderConfig,AliEngineVideoTrack track);
    参数说明
    名称 类型 描述
    renderConfig AliEngineVideoCanvas 渲染参数,包含渲染窗口以及渲染方式。
    track AliEngineVideoTrack 视频流的类型。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明
    • 支持加入频道之前和之后切换窗口。如果canvas中的displayView为NULL,则停止渲染。
    • 如果在播放过程中需要重新设置渲染方式,请保持canvas中其他成员变量不变,仅修改renderMode。
    • canvas中渲染方式默认为AliEngineRenderModeAuto。
  • SetCameraCapturerConfiguration:设置摄像头采集偏好。
    int SetCameraCapturerConfiguration(const AliEngineCameraCapturerConfiguration& config);
    参数说明
    名称 类型 描述
    config const AliEngineCameraCapturerConfiguration & 采集偏好,默认值为AliEngineCaptureOutputPreferenceAuto。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetDeviceOrientationMode:设置设备方向(适用于Android或iOS端)。
    int SetDeviceOrientationMode(AliEngineOrientationMode mode);
    参数说明
    名称 类型 描述
    mode AliEngineOrientationMode 设备方向,默认值为AliEngineOrientationModePortrait(固定竖屏模式)。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • EnableLocalVideo:禁用或重新启用本地视频采集。
    int EnableLocalVideo(bool enable);
    参数说明
    名称 类型 描述
    enable bool 禁用或重新启用本地视频采集。取值:
    • true(默认值):重新启用视频采集。
    • false:停止视频采集。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • MuteLocalCamera:停止或恢复本地视频数据发送。
    int MuteLocalCamera(bool mute, AliEngineVideoTrack track);
    参数说明
    名称 类型 描述
    mute bool 停止或恢复推视频流。取值:
    • true:停止推视频流。
    • false(默认值):恢复推视频流。
    track AliEngineVideoTrack 需要改变推流状态的视频流类型。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 此接口只是控制指定视频流上是否发送黑帧,采集和数据发送不会停止,如果需要关闭采集请使用EnableLocalVideo接口,如果需要中止视频数据发送请使用PublishLocalVideoStream接口。
  • MuteAllRemoteVideo:停止或恢复远端所有的视频渲染。
    int MuteAllRemoteVideo(bool mute);
    参数说明
    名称 类型 描述
    mute bool 停止或恢复渲染。取值:
    • true:停止渲染,所有视频为黑帧。
    • false(默认值):恢复渲染。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetRemoteViewConfig:为远端的视频设置渲染窗口以及绘制参数。
    int SetRemoteViewConfig(AliEngineVideoCanvas renderConfig,const char *uid,AliEngineVideoTrack track);
    参数说明
    名称 类型 描述
    renderConfig AliEngineVideoCanvas 渲染参数,包含渲染窗口以及渲染方式。
    uid const char * 用户ID。
    track AliEngineVideoTrack 需要设置的视频流类型。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • UpdateViewConfig:更新渲染配置。
    int UpdateViewConfig(AliEngineVideoCanvas renderConfig);
    参数说明
    名称 类型 描述
    renderConfig AliEngineVideoCanvas 窗口以及渲染方式。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • IsCameraOn:检查摄像头是否打开。
    bool IsCameraOn();
    返回说明

    true表示摄像头已打开,false表示摄像头未打开。

  • StopRecord:停止录制。
    bool StopRecord();
    返回说明

    true表示方法调用成功,false表示方法调用失败。

  • StartRecord:开始录制(非布局录制)。
    bool StartRecord(AliEngineRecordType recordType, AliEngineRecordFormat recordFormat, const char * filePath, AliEngineRecordAudioConfig& audioConfig, AliEngineRecordVideoConfig& videoConfig, bool isFragment);
    参数说明
    名称 类型 描述
    recordType AliEngineRecordType 录制类型。
    recordFormat AliEngineRecordFormat 录制格式。
    filePath const char * 文件路径。
    audioConfig AliEngineRecordAudioConfig & 录制音频设置。
    videoConfig AliEngineRecordVideoConfig & 录制视频设置。
    isFragment bool 是否支持mp4内部分段,只在录制mp4时有效。
    返回说明

    true表示方法调用成功,false表示方法调用失败。

  • StartRecord:开始录制(窗口布局录制)。
    int StartRecord(const char* filePath, const AliEngineRecordVideoLayout& layout);
    参数说明
    名称 类型 描述
    filePath const char * 文件路径。
    layout const AliEngineRecordVideoLayout & 视频窗口布局设置。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • UpdateRecordLayout:更新录制内容信息。
    bool UpdateRecordLayout(AliEngineRecordVideoLayout& layout);
    参数说明
    名称 类型 描述
    layout AliEngineRecordVideoLayout & 录制视频内容及布局。
    返回说明

    true表示方法调用成功,false表示方法调用失败。

  • AddRecordTemplate:添加录制模板。
    int AddRecordTemplate(const AliEngineRecordTemplate& rTemplate);
    参数说明
    名称 类型 描述
    rTemplate const AliEngineRecordTemplate & 录制模板。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • PauseRecord:暂停录制。
    bool PauseRecord();
    返回说明

    true表示方法调用成功,false表示方法调用失败。

  • ResumeRecord:重新开始录制。
    bool ResumeRecord();
    返回说明

    true表示方法调用成功,false表示方法调用失败。

  • SetBeautyEffect:设置是否启用基础美颜。
    int SetBeautyEffect(bool enable, const AliEngineBeautyConfig &config);
    参数说明
    名称 类型 描述
    enable bool 是否启用基础美颜。取值:
    • true:开启。
    • false(默认值):关闭。
    config const AliEngineBeautyConfig & 基础美颜参数。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 该接口目前只支持美白和磨皮。
  • SetVideoEncoderConfiguration:设置视频编码属性。
    void SetVideoEncoderConfiguration(const AliEngineVideoEncoderConfiguration& config);
    参数说明
    名称 类型 描述
    config const AliEngineVideoEncoderConfiguration & 预定义的编码属性,默认值:
    • dimensions:(640, 480)
    • frameRate:AliEngineFrameRateFps15
    • bitrate:512
    • orientationMode:AliEngineVideoEncoderOrientationModeAdaptive
    • mirrorMode:AliEngineVideoMirrorModeDisabled
    • rotationMode:AliEngineRotationMode_0
  • AddVideoWatermark:添加水印。
    int AddVideoWatermark(AliEngineVideoTrack track, const char* imageUrl, const AliEngineWaterMarkConfig &options);
    参数说明
    名称 类型 描述
    track AliEngineVideoTrack 数据流类型。
    imageUrl const char* 水印图片路径。
    options const AliEngineWaterMarkConfig & 水印配置。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • ClearVideoWatermark:清理对应数据流水印信息。
    int ClearVideoWatermark(AliEngineVideoTrack track);
    参数说明
    名称 类型 描述
    track AliEngineVideoTrack 数据流类型。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SnapshotVideo:截图。
    int SnapshotVideo(const String& userId, const AliEngineVideoTrack &trackType);
    参数说明
    名称 类型 描述
    userId const String & 用户ID,为空表示本地用户。
    trackType const AliEngineVideoTrack & 流类型。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 截图结果通过OnSnapshotComplete回调返回。
  • SwitchCamera:切换前后摄像头,默认为前置摄像头(适用于Android或iOS端)。
    int SwitchCamera();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • GetCurrentCameraDirection:获取当前摄像头方向(适用于Android或iOS端)。
    AliEngineCameraDirection GetCurrentCameraDirection();
    返回说明

    返回camera方向枚举值。

  • SetCameraZoom:设置摄像头缩放比例(适用于Android或iOS端)。
    int SetCameraZoom(float zoom);
    参数说明
    名称 类型 描述
    zoom float zoom的级别,默认值为1.0。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetCameraFlash:设置摄像头闪光灯是否打开(适用于Android或iOS端)。
    int SetCameraFlash(bool flash);
    参数说明
    名称 类型 描述
    flash bool 是否允许闪光灯,取值:
    • true:打开闪光灯。
    • false(默认值):关闭闪光灯。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • IsCameraFocusPointSupported:摄像头是否支持手动聚焦(适用于Android或iOS端)。
    bool IsCameraFocusPointSupported();
    返回说明

    true表示方法调用成功,false表示方法调用失败。

  • IsCameraExposurePointSupported:摄像头是否支持设置曝光区域(适用于Android或iOS端)。
    bool IsCameraExposurePointSupported();
    返回说明

    true表示方法调用成功,false表示方法调用失败。

  • SetCameraFocusPoint:设置摄像头手动聚焦(适用于Android或iOS端)。
    int SetCameraFocusPoint(float pointX, float pointY);
    参数说明
    名称 类型 描述
    pointX float 聚焦点x坐标。
    pointY float 聚焦点y坐标。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetCameraExposurePoint:设置摄像头曝光点(适用于Android或iOS端)。
    int SetCameraExposurePoint(float pointX, float pointY);
    参数说明
    名称 类型 描述
    pointX float 聚焦点x坐标。
    pointY float 聚焦点y坐标。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • IsCameraAutoFocusFaceModeSupported:摄像头是否支持人脸聚焦(适用于Android或iOS端)。
    bool IsCameraAutoFocusFaceModeSupported();
    返回说明

    true表示方法调用成功,false表示方法调用失败。

  • SetCameraAutoFocusFaceModeEnabled:设置摄像头人脸对焦(适用于Android或iOS端)。
    bool SetCameraAutoFocusFaceModeEnabled(bool enable);
    参数说明
    名称 类型 描述
    enable bool 是否开启摄像头人脸对焦。取值:
    • true:开启人脸对焦。
    • false(默认值):关闭人脸对焦。
    返回说明

    true表示方法调用成功,false表示方法调用失败。

  • StartScreenShareByDesktopId:根据桌面ID进行屏幕分享。
    int StartScreenShareByDesktopId(unsigned int desktopId, const AliEngineScreenShareConfig& config);
    参数说明
    名称 类型 描述
    desktopId unsigned int 桌面ID(可通过GetScreenShareSourceInfo接口获取)。
    config const AliEngineScreenShareConfig & 屏幕分享配置。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 配置指定区域分享时,分享区域最小分辨率为16 x 16,设置区域小于最小分辨率时重置为最小分辨率;设置分享区域超过实际桌面分辨率时,将分享整个桌面。
  • StartScreenShareByScreenRegion:根据屏幕区域进行屏幕分享。
    int StartScreenShareByScreenRegion(const AliEngineScreenShareRegion& screenRegion, const AliEngineScreenShareConfig& config);
    参数说明
    名称 类型 描述
    screenRegion const AliEngineScreenShareRegion & 指定要共享的屏幕相对于虚拟屏幕的位置。
    config const AliEngineScreenShareConfig & 屏幕分享配置。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明
    • 本方法仅适用于桌面共享,设置窗口共享请使用StartScreenShareByWindowId接口。
    • 配置指定区域分享时,分享区域最小分辨率为16 x 16,设置区域小于最小分辨率时重置为最小分辨率;设置分享区域超过实际桌面分辨率时,将分享整个桌面。
    • 关于虚拟屏幕坐标,请参见The Virtual Screen
  • StartScreenShareByWindowId:根据窗口ID进行屏幕分享。
    int StartScreenShareByWindowId(unsigned int windowId, const AliEngineScreenShareConfig& config);
    参数说明
    名称 类型 描述
    windowId unsigned int 窗口ID(可通过GetScreenShareSourceInfo接口获取)
    config const AliEngineScreenShareConfig & 屏幕分享配置。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StartScreenShare:开始屏幕分享(适用于Android或iOS端)。
    int StartScreenShare();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StopScreenShare:停止屏幕分享。
    int StopScreenShare();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • UpdateScreenShareConfig:更新屏幕分享配置。
    int UpdateScreenShareConfig(const AliEngineScreenShareConfig& config);
    参数说明
    名称 类型 描述
    config const AliEngineScreenShareConfig & 屏幕分享配置。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • GetScreenShareConfig:获取屏幕共享配置。
    AliEngineScreenShareConfig GetScreenShareConfig();
    返回说明

    返回屏幕共享配置信息。

  • GetScreenShareSourceInfo:获取屏幕分享源信息。
    AliEngineScreenSourceList* GetScreenShareSourceInfo(AliEngineScreenShareType sourceType);
    参数说明
    名称 类型 描述
    sourceType AliEngineScreenShareType 屏幕分享类型。
    返回说明

    返回屏幕共享源列表。

    说明 请在遍历完屏幕共享源列表后调用其release成员方法,由SDK内部释放相关资源。
  • GetCurrentScreenShareSourceId:获取当前屏幕共享源ID。
    unsigned int GetCurrentScreenShareSourceId();
    返回说明

    返回当前屏幕共享源ID。

  • GetCurrentScreenShareSourceType:获取当前屏幕共享源类型。
    AliEngineScreenShareType GetCurrentScreenShareSourceType();
    返回说明

    返回当前屏幕共享源类型。

  • GetDesktopRegion:获取屏幕分享桌面区域。
    int GetDesktopRegion(const String& sourceId, const String& sourceTitle, AliEngineScreenShareRegion& region);
    参数说明
    名称 类型 描述
    sourceId const String& 屏幕分享数据源ID。
    sourceTitle const String& 屏幕分享数据源名称。
    region AliEngineScreenShareRegion & 屏幕区域信息。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetAudioOnlyMode:设置音频模式或音视频模式。
    int SetAudioOnlyMode(bool audioOnly);
    参数说明
    名称 类型 描述
    audioOnly bool 音频模式或音视频模式。取值:
    • true:只有音频推流和拉流。
    • false(默认值):音视频推流和拉流。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • IsAudioOnlyMode:检查当前是否纯音频模式。
    bool IsAudioOnlyMode();
    返回说明

    true表示纯音频模式,false表示音视频模式。

  • MuteLocalMic:停止或恢复本地音频数据发送。
    int MuteLocalMic(bool mute, AliEngineMuteLocalAudioMode mode = AliEngineMuteLocalAudioModeDefault);
    参数说明
    名称 类型 描述
    mute bool 停止或恢复本地音频数据发送。取值:
    • true:本地音频发送静音帧。
    • false(默认值):恢复正常。
    mode AliEngineMuteLocalAudioMode 静音模式,默认麦克风静音模式。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 mute只是发送音频数据为静音帧,采集和编码模块仍然在工作。
  • MuteRemoteAudio:停止或恢复远端的音频播放。
    int MuteRemoteAudio(const char *uid,bool mute);
    参数说明
    名称 类型 描述
    uid const char * 用户ID。
    mute bool 停止或恢复远端的音频播放。取值:
    • true:停止播放。
    • false(默认值):恢复播放。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • MuteAllRemoteAudio:停止或恢复远端所有的音频播放。
    int MuteAllRemoteAudio(bool mute);
    参数说明
    名称 类型 描述
    mute bool 停止或恢复远端所有的音频播放。取值:
    • true:停止播放。
    • false(默认值):恢复播放。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StartAudioCapture:开启音频采集。
    int StartAudioCapture();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StartAudioCapture:开启音频采集。此接口可以控制提前打开音频采集,如果不设置,则SDK会在合适的时机打开音频采集。
    int StartAudioCapture(bool keepAlive);
    参数说明
    名称 类型 描述
    keepAlive bool 采集设备状态,取值:
    • true(默认值):离会后采集设备保持开启状态。
    • false:离会后采集设备关闭。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StopAudioCapture:关闭音频采集。
    int StopAudioCapture();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StartAudioPlayer:开启音频播放设备。
    int StartAudioPlayer();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StopAudioPlayer:关闭音频播放。
    int StopAudioPlayer();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetRemoteAudioVolume:设置本地播放的指定远端用户音量。
    int SetRemoteAudioVolume(const char *uid,int volume);
    参数说明
    名称 类型 描述
    uid const char * 用户ID。
    int volume 播放音量,取值范围:[0,100]。其中,0表示静音,100表示原始音量,默认值为100。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetDefaultAudioRouteToSpeakerphone:设置默认音频输出为听筒或扬声器(适用于Android或iOS端)。
    int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeakerphone);
    参数说明
    名称 类型 描述
    defaultToSpeakerphone bool 默认音频输出为听筒或扬声器。取值:
    • true(默认值):扬声器模式。
    • false:听筒模式。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • EnableSpeakerphone:设置音频输出为听筒或扬声器(适用于Android或iOS端)。
    int EnableSpeakerphone(bool enable);
    参数说明
    名称 类型 描述
    enable bool 音频输出为听筒或扬声器。取值:
    • true:扬声器模式。
    • false(默认值):听筒模式。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • IsEnableSpeakerphone:获取当前音频输出为听筒还是扬声器(适用于Android或iOS端)。
    bool IsEnableSpeakerphone();
    返回说明

    true表示听筒,false表示扬声器。

  • SetRecordingVolume:设置录音音量。
    int SetRecordingVolume(int volume);
    参数说明
    名称 类型 描述
    volume int 取值范围:[0,400]。其中0表示静音,默认值为100;大于100表示放大音量;小于100表示减小音量。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetPlayoutVolume:设置播放音量。
    int SetPlayoutVolume(int volume);
    参数说明
    名称 类型 描述
    volume int 取值范围:[0,400]。其中0表示静音,默认值为100;大于100表示放大音量;小于100表示减小音量。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • EnableAudioVolumeIndication:设置音量回调频率和平滑系数,默认不启用。
    int EnableAudioVolumeIndication(int interval, int smooth, int reportVad);
    参数说明
    名称 类型 描述
    interval int 时间间隔,单位为毫秒,最小值不得小于10ms,建议设置300~500ms;小于等于0表示不启用音量提示和说话人提示功能。
    smooth int 平滑系数,数值越大平滑程度越高,反之越低,实时性越好,取值范围:[0,9],建议设置3。
    reportVad int 说话人检测开关。取值:
    • 0:关闭。
    • 1:开启,通过onAudioVolumeCallback接口回调每一个说话人的状态。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetAudioProfile:设置音频Profile。
    int SetAudioProfile(int audioProfile, int audioScene);
    参数说明
    名称 类型 描述
    audioProfile int 音频采集或编码模式参数,默认值为AliEngineBasicQualityMode,详情请参见AliEngineAudioProfile
    audioScene int 音频场景模式参数,默认值为AliEngineSceneDefaultMode,详情请参见AliEngineAudioScenario
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetDeviceVolumeType:设置音量类型。
    int SetDeviceVolumeType(int type);
    参数说明
    名称 类型 描述
    type int 音量类型,默认值为0。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • EnableAudioDTX:开启本地音频流量控制(检测语音)。
    int EnableAudioDTX(bool enable);
    参数说明
    名称 类型 描述
    enable bool 是否开启本地音频流量控制。取值:
    • true:开启。
    • false(默认值):关闭。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 推流之前调用有效。开启语音活动检测可以在检测到没有语音的情况下,发送字节数减少,节省用户流量。
  • EnableAudioAMD:开启本地音频流量控制(检测麦克风)。
    int EnableAudioAMD(bool enable);
    参数说明
    名称 类型 描述
    enable bool 是否开启本地音频流量控制。取值:
    • true:开启。
    • false(默认值):关闭。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 推流之前调用有效。开启语音活动检测可以在检测到麦克风静音或者关闭麦克风时停止发送音频包。
  • SetAudioEffectVoiceChangerMode:设置变声音效模式。
    int SetAudioEffectVoiceChangerMode(const AliEngineAudioEffectVoiceChangerMode &mode);
    参数说明
    名称 类型 描述
    mode const AliEngineAudioEffectVoiceChangerMode & 变声音效模式,默认值为AliRtcSdk_AudioEffect_Voice_Changer_OFF。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetAudioEffectPitchValue:设置变调参数。
    int SetAudioEffectPitchValue(double value);
    参数说明
    名称 类型 描述
    value double 取值范围:[0.5,2.0],默认1.0,表示音调不变。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetAudioEffectReverbMode:设置混响音效模式。
    int SetAudioEffectReverbMode(const AliEngineAudioEffectReverbMode& mode);
    参数说明
    名称 类型 描述
    mode const AliEngineAudioEffectReverbMode & 音效模式,默认值为AliRtcAudioEffectReverb_Off。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetAudioEffectReverbParamType:设置混响音效类型和具体参数。
    int SetAudioEffectReverbParamType(const AliEngineAudioEffectReverbParamType& type, float value);
    参数说明
    名称 类型 描述
    type const AliEngineAudioEffectReverbParamType & 音效混响模式。
    value float 具体参数值。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StartAudioAccompany:开始混音(适用于Android或iOS端)。
    int StartAudioAccompany(const char *filePath, bool onlyLocalPlay, bool replaceMic, int loopCycles);
    参数说明
    名称 类型 描述
    filePath const char * 混音文件路径。
    onlyLocalPlay bool 是否只本地播放。
    replaceMic bool 是否替换掉MIC。
    loopCycles int 循环次数(可以设置-1或者正整数)。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StopAudioAccompany:停止混音(适用于Android或iOS端)。
    int StopAudioAccompany();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetAudioAccompanyVolume:设置混音音量(适用于Android或iOS端)。
    int SetAudioAccompanyVolume(int volume);
    参数说明
    名称 类型 描述
    volume int 混音音量,取值范围:[0,100],默认值为50。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 设置音量需要在startAudioAccompany后才能生效。
  • SetAudioAccompanyPublishVolume:设置混音之后推流出去的音量(适用于Android或iOS端)。
    int SetAudioAccompanyPublishVolume(int volume);
    参数说明
    名称 类型 描述
    volume int 混音音量,取值范围:[0,100],默认值为50。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 设置音量需要在startAudioAccompany后才能生效。
  • GetAudioAccompanyPublishVolume:获取推流出去的混音音量(适用于Android或iOS端)。
    int GetAudioAccompanyPublishVolume();
    返回说明

    返回推流出去的混音音量。

  • SetAudioAccompanyPlayoutVolume:设置混音之后本地播放的音量(适用于Android或iOS端)。
    int SetAudioAccompanyPlayoutVolume(int volume);
    参数说明
    名称 类型 描述
    volume int 混音音量,取值范围:[0,100],默认值为50。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 设置音量需要在StartAudioAccompany后才能生效。
  • GetAudioAccompanyPlayoutVolume:获取混音本地播放的音量(适用于Android或iOS端)。
    int GetAudioAccompanyPlayoutVolume();
    返回说明

    当前混音本地播放的音量大小。

  • PauseAudioAccompany:暂停混音(适用于Android或iOS端)。
    int PauseAudioAccompany();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • ResumeAudioAccompany:重新开始混音(适用于Android或iOS端)。
    int ResumeAudioAccompany();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • GetAudioAccompanyDuration:获取伴奏文件时长(适用于Android或iOS端)。
    int GetAudioAccompanyDuration();
    返回说明

    返回当前伴奏文件时长,单位为毫秒。

  • GetAudioAccompanyCurrentPosition:获取音乐文件播放进度(适用于Android或iOS端)。
    int GetAudioAccompanyCurrentPosition();
    返回说明

    当前音乐文件播放进度,单位为毫秒。

  • SetAudioAccompanyPosition:设置音频文件的播放位置(适用于Android或iOS端)。
    int SetAudioAccompanyPosition(int pos);
    参数说明
    名称 类型 描述
    pos int 进度条位置,单位为毫秒。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • PreloadAudioEffect:预加载音效文件(适用于Android或iOS端)。
    int PreloadAudioEffect(unsigned int soundId, const char *filePath);
    参数说明
    名称 类型 描述
    soundId unsigned int 用户给该音效文件分配的ID。
    filePath const char * 音效文件路径。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • UnloadAudioEffect:删除预加载的音效文件(适用于Android或iOS端)。
    int UnloadAudioEffect(unsigned int soundId);
    参数说明
    名称 类型 描述
    soundId unsigned int 用户给该音效文件分配的ID。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • PlayAudioEffect:开始播放音效(适用于Android或iOS端)。
    int PlayAudioEffect(unsigned int soundId, const char *filePath, int cycles, bool publish);
    参数说明
    名称 类型 描述
    soundId unsigned int 用户给该音效文件分配的ID。
    filePath const char * 音效文件路径。
    cycles int 循环次数(可以设置-1或者正整数)。
    publish bool 是否推流。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StopAudioEffect:停止播放音效(适用于Android或iOS端)。
    int StopAudioEffect(unsigned int soundId);
    参数说明
    名称 类型 描述
    soundId unsigned int 用户给该音效文件分配的ID。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StopAllAudioEffects:停止播放所有音效(适用于Android或iOS端)。
    int StopAllAudioEffects();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetAudioEffectPublishVolume:设置音效推流音量(适用于Android或iOS端)。
    int SetAudioEffectPublishVolume(unsigned int soundId, int volume);
    参数说明
    名称 类型 描述
    soundId unsigned int 用户给该音效文件分配的ID。
    volume int 混音音量,取值范围:[0,100],默认值为50。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • GetAudioEffectPublishVolume:获取推流音效音量(适用于Android或iOS端)。
    int GetAudioEffectPublishVolume(unsigned int soundId);
    参数说明
    名称 类型 描述
    soundId unsigned int 用户给该音效文件分配的ID。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetAudioEffectPlayoutVolume:设置音效本地播放音量(适用于Android或iOS端)。
    int SetAudioEffectPlayoutVolume(unsigned int soundId, int volume);
    参数说明
    名称 类型 描述
    soundId unsigned int 用户给该音效文件分配的ID。
    volume int 混音音量,取值范围:[0,100],默认值为50。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • GetAudioEffectPlayoutVolume:获取音效本地播放音量(适用于Android或iOS端)。
    int GetAudioEffectPlayoutVolume(unsigned int soundId);
    参数说明
    名称 类型 描述
    soundId unsigned int 用户给该音效文件分配的ID。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetAllAudioEffectsPublishVolume:设置所有音效本地播放音量(适用于Android或iOS端)。
    int SetAllAudioEffectsPublishVolume(int volume);
    参数说明
    名称 类型 描述
    volume int 混音音量,取值范围:[0,100],默认值为50。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetAllAudioEffectsPlayoutVolume:设置所有音效推流音量(适用于Android或iOS端)。
    int SetAllAudioEffectsPlayoutVolume(int volume);
    参数说明
    名称 类型 描述
    volume int 混音音量,取值范围:[0,100],默认值为50。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • PauseAudioEffect:暂停音效(适用于Android或iOS端)。
    int PauseAudioEffect(unsigned int soundId);
    参数说明
    名称 类型 描述
    soundId unsigned int 用户给该音效文件分配的ID。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • PauseAllAudioEffects:暂停所有音效(适用于Android或iOS端)。
    int PauseAllAudioEffects();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • ResumeAudioEffect:重新开始播放音效(适用于Android或iOS端)。
    int ResumeAudioEffect(unsigned int soundId);
    参数说明
    名称 类型 描述
    soundId unsigned int 用户给该音效文件分配的ID。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • ResumeAllAudioEffects:重新开始播放所有音效(适用于Android或iOS端)。
    int ResumeAllAudioEffects();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • EnableEarBack:启用耳返(适用于Android或iOS端)。
    int EnableEarBack(bool enable);
    参数说明
    名称 类型 描述
    enable bool 是否启用耳返,取值:
    • true:启用耳返。
    • false(默认值):关闭耳返。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetEarBackVolume:设置耳返音量(适用于Android或iOS端)。
    int SetEarBackVolume(int volume);
    参数说明
    名称 类型 描述
    volume int 音量,取值范围:[0,100],默认值100。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • EnableSystemAudioRecording:设置是否开启系统声音采集推送。
    int EnableSystemAudioRecording(bool enable);
    参数说明
    名称 类型 描述
    enable bool 是否开启系统声音采集推送。取值:
    • true:开启。
    • false(默认值):关闭。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • IsSystemAudioRecording:当前是否开启系统声音采集推送。
    bool IsSystemAudioRecording();
    返回说明

    true表示开启状态, false表示关闭状态。

  • SetSystemAudioRecordingVolume:设置系统声音采集推送音量。
    int SetSystemAudioRecordingVolume(int volume);
    参数说明
    名称 类型 描述
    volume int 音量,取值范围:[0,100],默认值为100。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • GetSystemAudioRecordingVolume:获取当前设置系统声音采集推送音量。
    int GetSystemAudioRecordingVolume();
    返回说明

    返回系统音量。

    说明 需要开启系统声音采集推送后才能设置,否则设置失败。
  • StartPublishLiveStream:开启旁路直播。
    int StartPublishLiveStream(const String& streamURL, const AliEngineLiveTranscodingParam &transcoding);
    参数说明
    名称 类型 描述
    streamURL const String& 推流地址。
    transcoding const AliEngineLiveTranscodingParam & 推流所需参数。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • UpdatePublishLiveStream:更新旁路直播相关参数。
    int UpdatePublishLiveStream(const String& streamURL, const AliEngineLiveTranscodingParam &transcoding);
    参数说明
    名称 类型 描述
    streamURL const String& 推流地址。
    transcoding const AliEngineLiveTranscodingParam & 推流所需参数。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StopPublishLiveStream:停止旁路直播。
    int StopPublishLiveStream(const String& streamURL);
    参数说明
    名称 类型 描述
    streamURL const String& 推流地址。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • UpdateLiveStreamingViewConfig:更新直播拉流窗口及渲染参数。
    int UpdateLiveStreamingViewConfig(AliEngineVideoCanvas& renderConfig);
    参数说明
    名称 类型 描述
    renderConfig AliEngineVideoCanvas & 包含了窗口以及渲染方式。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StartChannelRelay:开启跨频道连麦。
    int StartChannelRelay(const AliEngineChannelRelayConfiguration &configuration);
    参数说明
    名称 类型 描述
    configuration const AliEngineChannelRelayConfiguration & 配置信息。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • UpdateChannelRelay:更新跨频道连麦。
    int UpdateChannelRelay(const AliEngineChannelRelayConfiguration &configuration);
    参数说明
    名称 类型 描述
    configuration const AliEngineChannelRelayConfiguration & 配置信息。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StopChannelRelay:停止跨频道连麦。
    int StopChannelRelay();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StartPreview:开始本地预览。
    int StartPreview();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • StopPreview:停止本地预览。
    int StopPreview();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • GetOnlineRemoteUsers:获取远端在线用户列表。
    void GetOnlineRemoteUsers(StringArray &userList);
    参数说明
    名称 类型 描述
    userList StringArray & 用户列表(保存的是用户ID)。
  • GetUserInfo:查询远端用户的各种状态。
    int GetUserInfo(const char *uid,Dictionary &dict);
    参数说明
    名称 类型 描述
    uid const char * 用户ID。从App server分配的唯一标示符。
    dict Dictionary & App提供的容器,用于存放用户数据,详情如下表所示。
    key关键字 含义
    userID 远端用户的ID。
    displayName 远端用户的名称。
    sessionID 远端用户的会话ID。
    isOnline 远端用户是否在线。
    isCameraMirror 远端用户是否开启了相机流镜像。
    isScreenMirror 远端用户是否开启了屏幕流镜像。
    muteAudioPlaying 本端是否静音了此远端用户。
    preferCameraMaster 远端用户是否开启了大流优先。
    hasCameraView 本端是否设置了此远端用户相机流的view。
    hasScreenView 本端是否设置了此远端用户屏幕流的view。
    hasAudio 远端用户是否推送了音频流。
    hasCameraMaster 远端用户是否推送了相机大流。
    hasCameraSlave 远端用户是否推送了相机小流。
    hasScreenSharing 远端用户是否推送了屏幕流。
    requestAudio 本端是否请求了此远端用户的音频流。
    requestCameraMaster 本端是否请求了此远端用户的相机大流。
    requestCameraSlave 本端是否请求了此远端用户的相机小流。
    requestScreenSharing 本端是否请求了此远端用户的屏幕流。
    subScribedAudio 本端是否拉到了此远端用户的音频流。
    subScribedCameraMaster 本端是否拉到了此远端用户的相机大流。
    subScribedCamearSlave 本端是否拉到了此远端用户的相机小流。
    subScribedScreenSharing 本端是否拉到了此远端用户的屏幕流。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • IsUserOnline:判断用户是否在线。
    bool IsUserOnline(const char *uid);
    参数说明
    名称 类型 描述
    uid const char * 用户ID。从App server分配的唯一标示符。
    返回说明

    true表示在线, false表示离线。

  • SetLogLevel:设置日志等级。
    static void SetLogLevel(AliEngineLogLevel logLevel);
    参数说明
    名称 类型 描述
    logLevel AliEngineLogLevel Log级别,默认值为AliEngineLogLevelInfo。
  • GetSDKVersion:获取SDK版本号。
    static const char *GetSDKVersion();
    返回说明

    返回SDK版本号。

  • GetErrorDescription:获取错误码描述。
    static const char* GetErrorDescription(int errorCode);
    参数说明
    名称 类型 描述
    errorCode int 获取错误码描述。
    返回说明

    返回错误码描述字符串。

  • GetEncodeParam:获取编码分辨率。
    static void GetEncodeParam(int *width, int *height);
    参数说明
    名称 类型 描述
    width int * 宽度。
    height int * 高度。
  • SetClientRole:设置用户角色。
    int SetClientRole(const AliEngineClientRole clientRole);
    参数说明
    名称 类型 描述
    clientRole const AliEngineClientRole 用户角色类型,默认值为AliEngineClientRoleLive(观众角色),非通信模式下角色类型才有效。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • GetClientRole:获取用户角色。
    AliEngineClientRole GetClientRole();
    返回说明

    返回当前用户角色。

  • StartLastmileDetect:开始网络质量探测。
    int StartLastmileDetect();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 此接口需在JoinChannel之前调用,探测结果在OnLastmileDetectResultWithQuality回调。
  • StopLastmileDetect:停止网络质量探测。
    int StopLastmileDetect();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • PostFeedback:SDK问题反馈。
    void PostFeedback(const char *uid, const char *channelId, const char *description, const AliEngineFeedbackType type, long long timeStamp);
    参数说明
    名称 类型 描述
    uid const char * 当前uid(允许为空)。
    channelId const char * 当前频道ID(允许为空)。
    description const char * 问题描述(支持中英文,不允许为空)。
    type const AliEngineFeedbackType 问题类型。
    timeStamp long long 问题发生的时间戳(Unix时间戳,可以为大致时间,无需特别精确,也可以为0)。
  • SendMediaExtensionMsg:发送媒体扩展信息。
    int SendMediaExtensionMsg(unsigned char *message, unsigned int length, int repeatCount);
    参数说明
    名称 类型 描述
    message unsigned char * 扩展信息。
    length unsigned int 扩展信息长度。
    repeatCount int 重复次数。
    返回说明
    • 0:成功。
    • -1:未推流。
    • -2:参数错误。
    • -3:发送过于频繁,建议稍后再发送。
  • StartIntelligentDenoise:开启智能降噪。
    int StartIntelligentDenoise();
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

    说明 此接口可以通话过程中控制打开智能降噪功能 。
  • StopIntelligentDenoise:关闭智能降噪。
    void StopIntelligentDenoise();
  • RefreshAuthInfo:刷新鉴权信息。
    int RefreshAuthInfo(const AliEngineAuthInfo &authInfo);
    参数说明
    名称 类型 描述
    authInfo const AliEngineAuthInfo & 鉴权信息。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • SetAudioSessionOperationRestriction:设置SDK对AVAudioSession的控制权限(适用于iOS端)。
    int SetAudioSessionOperationRestriction(AliEngineAudioSessionOperationRestriction restriction);
    参数说明
    名称 类型 描述
    restriction AliEngineAudioSessionOperationRestriction AVAudioSession控制权限设置,默认值为AliEngineAudioSessionOperationRestrictionNone。
    返回说明

    0表示方法调用成功,其他表示方法调用失败。

  • GetCurrentConnectionStatus:获取当前网络连接状态。
    AliEngineConnectionStatus GetCurrentConnectionStatus();
    返回说明

    返回当前网络链接状态,状态详情请参见AliEngineConnectionStatus

  • GetPublishLiveStreamState:获取旁路直播状态。
    AliEngineLiveTranscodingState GetPublishLiveStreamState(const String& streamURL);
    参数说明
    参数 类型 描述
    streamURL const String& 旁路直播推流地址。
    返回说明

    返回旁路直播状态。

  • ShowDebugView:展示用户Debug数据。
    int ShowDebugView(void* view,const AliEngineShowDebugViewType showType,const char *uid);
    参数说明
    参数 类型 描述
    view void * View,由业务侧来负责布局。
    showType AliEngineShowDebugViewType 显示类型,取值:
    • 0(默认值):不显示。
    • 1:音频。
    • 2:视频。
    • 3: 网络。
    • 4: 全部。
    说明 对于不公开的数据,可以设置特殊值。
    uid const char * 对应用户ID。
    返回说明

    0表示方法调用成功,非0表示方法调用失败。

  • EnableBackgroundExchange:开启或关闭虚拟背景替换功能。
    int EnableBackgroundExchange(bool enable, const char* path,const AliEngineBokehScaleModel model);
    参数说明
    参数 类型 描述
    enable bool 是否开启背景替换功能。取值:
    • true:开启。
    • false:关闭。
    path const char* 本地图片路径,支持JPG、PNG格式。
    model const AliEngineBokehScaleModel 背景图缩放模式。取值:
    • AliEngineBokehScaleModelCrop:等比裁剪。
    • AliEngineBokehScaleModelFill:填充黑边。
    返回说明

    0表示方法调用成功,非0表示方法调用失败。

  • EnableBackgroundBlur:开启或关闭虚拟背景虚化功能。
    int EnableBackgroundBlur(bool enable, uint32_t degree);
    参数说明
    参数 类型 描述
    enable bool 是否开启背景虚化功能。取值:
    • true:开启。
    • false:关闭。
    degree uint32_t 虚化程度,取值范围:[0,100]。
    返回说明

    0表示方法调用成功,非0表示方法调用失败。

  • SetRecordingDeviceMute:静音音频采集设备。
    int SetRecordingDeviceMute(bool mute);
    参数说明
    参数 类型 描述
    mute bool 设备是否静音,取值:
    • true:设备设置为静音。
    • false:设备设置为非静音。
    返回说明

    0表示方法调用成功,非0表示方法调用失败。

  • GetRecordingDeviceMute:获取音频采集设备静音状态。
    bool GetRecordingDeviceMute();
    返回说明

    true表示静音状态,false表示非静音状态。

  • SetPlaybackDeviceMute:静音音频播放设备。
    int SetPlaybackDeviceMute(bool mute);
    参数说明
    参数 类型 描述
    mute bool 设备是否静音,取值:
    • true:设备设置为静音。
    • false:设备设置为非静音。
    返回说明

    0表示方法调用成功,非0表示方法调用失败。

  • GetPlaybackDeviceMute:获取音频播放设备静音状态。
    bool GetPlaybackDeviceMute();
    返回说明

    true表示静音状态,false表示非静音状态。

  • GetIfUserFetchObserverData:视频输出数据是否由用户来获取。
    bool GetIfUserFetchObserverData();
    返回说明

    true表示视频输出数据由用户来获取,false表示视频输出数据由SDK回调获取,默认值为false。

  • GetVideoAlignment:视频输出宽度对齐方式。
    AliEngineVideoObserAlignment GetVideoAlignment();
    返回说明

    返回裸数据回调数据对齐类型,默认值为AliEngineAlignmentDefault。

  • GetObserverDataMirrorApplied:视频输出数据是否需要镜像。
    bool GetObserverDataMirrorApplied();
    返回说明

    true表示视频输出数据需要镜像,false表示视频输出数据不需要镜像,默认值为false。

  • GetSmoothRenderingEnabled:拉流视频数据是否平滑输出。
    bool GetSmoothRenderingEnabled();
    返回说明

    true表示拉流视频数据平滑输出,false表示拉流视频数据直接输出,默认值为false。

  • GetVideoCaptureData:主动获取采集数据。
    bool GetVideoCaptureData(AliEngineVideoTrack type, AliEngineVideoRawData &videoRaw);
    参数说明
    参数 类型 描述
    type AliEngineVideoTrack 视频流类型。
    videoRaw AliEngineVideoRawData & 裸数据。
    返回说明

    true表示方法调用成功,false表示方法调用失败。

  • GetVideoPreEncoderData:主动获取编码前数据。
    bool GetVideoPreEncoderData(AliEngineVideoTrack type, AliEngineVideoRawData &videoRaw);
    参数说明
    参数 类型 描述
    type AliEngineVideoTrack 视频流类型。
    videoRaw AliEngineVideoRawData & 裸数据。
    返回说明

    true表示方法调用成功,false表示方法调用失败。

  • GetVideoRenderData:主动获取拉流数据。
    bool GetVideoRenderData(const char *uid,AliEngineVideoTrack type, AliEngineVideoRawData &videoRaw);
    参数说明
    参数 类型 描述
    uid const char * 远端用户ID。
    type AliEngineVideoTrack 视频流类型。
    videoRaw AliEngineVideoRawData & 裸数据。
    返回说明

    true表示方法调用成功,false表示方法调用失败。