本章节为您介绍了Unity SDK的IAliRtcEngine接口详情。

目录

基础接口

API 描述 以上版本支持
SetH5CompatibleMode 设置H5兼容模式 1.15
GetH5CompatibleMode 检查当前是否兼容H5 1.15
GetEngine 创建IAliRtcEngine实例(同一时间只会存在一个实例) 1.15
QueryEngine 查询IAliRtcEngine实例 1.15
Destroy 销毁SDK 1.15

频道相关接口

API 描述 以上版本支持
SetAutoPublish 设置是否自动发布,是否自动订阅 1.15
JoinChannel 加入频道 1.15
LeaveChannel 离开频道 1.15
IsInCall 检查当前是否在频道中 1.15
SetChannelProfile 设置频道模式 1.15

发布相关接口

API 描述 以上版本支持
IsAutoPublish 查询当前是否为自动发布模式 1.15
ConfigLocalCameraPublish 设置是否允许发布相机流 1.15
IsLocalCameraPublishEnabled 查询当前是否允许发布相机流 1.15
ConfigLocalScreenPublish 设置是否允许发布屏幕流(仅Mac、Windows) 1.15
IsLocalScreenPublishEnabled 查询当前是否允许发布屏幕流(仅Mac、Windows) 1.15
ConfigLocalAudioPublish 设置是否允许发布音频流 1.15
IsLocalAudioPublishEnabled 查询当前是否允许发布音频流 1.15
ConfigLocalSimulcast 是否允许发布次要视频流 1.15
IsLocalSimulcastEnabled 查询当前是否允许发布次要视频流 1.15
Publish 手动发布视频和音频流 1.15

订阅相关接口

API 描述 以上版本支持
IsAutoSubscribe 查询当前是否为自动订阅模式 1.15
ConfigRemoteCameraTrack 设置是否订阅远端相机流 1.15
ConfigRemoteScreenTrack 设置是否订阅远端屏幕流 1.15
ConfigRemoteAudio 设置是否订阅远端音频流 1.15
Subscribe 手动订阅视频和音频流 1.15

视频相关接口

API 描述 以上版本支持
SetVideoProfile 设置视频流的参数 1.15
GenerateTexture 生成渲染纹理(仅iOS、Android) 1.15
SetTexture 设置纹理(仅iOS、Android) 1.15
RemoveTexture 移除渲染纹理(仅iOS、Android) 1.15
ConfigExternalVideoRendering 设置外部渲染(仅Mac、Windows) 1.15
GetVideoRenderData 获取视频数据(仅Mac、Windows) 1.15
SetLocalViewConfig 为本地预览设置镜像(仅Mac、Windows) 1.15
MuteLocalCamera 设置是否停止发布本地视频流 1.15
GetCameraList 获取摄像头列表(仅Mac、Windows) 1.15
GetCurrentCamera 获取当前使用的摄像头名称(仅Mac、Windows) 1.15
SetCurrentCamera 选择摄像头(仅Mac、Windows) 1.15
SwitchCamera 切换前后摄像头(仅iOS、Android) 1.15
SetCameraZoom 设置摄像头参数(仅iOS、Android) 1.15
IsCameraOn 检查摄像头是否打开(仅iOS、Android) 1.15
IsCameraFocusPointSupported 摄像头是否支持手动聚焦(仅iOS、Android) 1.15
IsCameraExposurePointSupported 摄像头是否支持设置曝光区域(仅iOS、Android) 1.15
SetCameraFocusPoint 设置摄像头手动聚焦(仅iOS、Android) 1.15
SetCameraExposurePoint 设置摄像头曝光点(仅iOS、Android) 1.15

音频相关接口

API 描述 以上版本支持
SetAudioOnlyMode 设置是否为纯音频模式还是音视频模式 1.15
IsAudioOnly 查询当前是否为纯音频模式 1.15
MuteLocalMic 设置是否停止发布本地音频 1.15
MuteRemoteAudioPlaying 设置是否停止播放远端音频流 1.15
EnableSpeakerphone 切换听筒、扬声器输出(仅iOS、Android) 1.15
GetAudioCaptures 获取音频采集设备列表(仅Mac、Windows) 1.15
GetCurrentAudioCapture 获取当前使用的音频采集设备名称(仅Mac、Windows) 1.15
SetCurrentAudioCapture 选择音频采集设备(仅Mac、Windows) 1.15
GetAudioRenderers 获取音频播放设备列表(仅Mac、Windows) 1.15
GetCurrentAudioRenderer 获取当前使用的音频播放设备(仅Mac、Windows) 1.15
SetCurrentAudioRenderer 选择音频播放设备(仅Mac、Windows) 1.15
StartAudioPlayer 开启音频播放 1.15
StopAudioPlayer 关闭音频播放 1.15

预览接口

API 描述 以上版本支持
StartPreview 开始本地预览 1.15
StopPreview 停止本地预览 1.15

远端用户查询接口

API 描述 以上版本支持
GetOnlineRemoteUsers 获取远端在线用户列表 1.15

其他接口

API 描述 以上版本支持
SetLogLevel 设置日志级别 1.15
GetSdkVersion 获取SDK版本号 1.15
SetClientRole 设置用户角色 1.15

接口详情

  • SetH5CompatibleMode:检查当前是否兼容H5,返回YES标识兼容H5,NO表示不兼容H5。

    您需要在创建AliRtcEngine实例前调用该接口。

    public static void SetH5CompatibleMode(bool comp);
    参数 类型 描述
    comp bool YES为兼容H5模式,NO为不兼容H5
  • GetH5CompatibleMode:检查当前是否兼容H5,返回YES标识兼容H5,NO表示不兼容H5。

    您需要在创建AliRtcEngine实例前调用该接口。

     public static bool GetH5CompatibleMode();
  • GetEngine:创建AliRtcEngine实例。

     public static IAliRtcEngine GetEngine(string extras);
    参数 类型 描述
    extras string SDK初始化配置,目前请使用@””
  • QueryEngine:查询AliRtcEngine实例。

     public static IAliRtcEngine QueryEngine();
  • Destroy:销毁AliRtcEngine实例。

     public static void Destroy();
  • SetAutoPublish:设置是否自动发布,是否自动订阅。默认是自动发布和订阅,您必须在加入频道之前设置。

    public void SetAutoPublish(bool autoPub, bool autoSub);
    参数 类型 描述
    autoPub bool true表示自动发布,false表示手动发布
    autoSub bool true表示自动订阅,false表示手动订阅
  • JoinChannel:加入频道。

    加入频道成功后,如果中途需要加入其他频道,您必须先调用LeaveChannel离开当前频道;如果加入频道失败,需要重试时,无需先调用leaveChannel。

    public void JoinChannel(AliRTCAuthInfo authInfo, string userName);
    参数 类型 描述
    authInfo AliRTCAuthInfo 鉴权信息,从AppServer下发,AppServer通过API获取
    userName string 用户的显示名称,不是用户ID
  • LeaveChannel:离开频道。

    public void LeaveChannel();
  • IsInCall:检查当前是否在频道中,返回true表示在频道中,false表示不在频道中。

    public bool IsInCall();
  • SetChannelProfile:设置频道模式,返回0为成功,非0表示失败。

    说明 您只可以在加入频道之前调用,会议中不可以重新设置,离开频道后可以重新设置。
    public void SetChannelProfile(int profile);
    参数 类型 描述
    profile int 频道模式类型
  • IsAutoPublish:查询当前是否为自动发布模式,返回true为自动发布,false为手动发布。

    public bool IsAutoPublish();
  • ConfigLocalCameraPublish:设置是否允许发布相机流。默认为允许发布相机流,手动发布时,需要调用publish才能生效。

    public void ConfigLocalCameraPublish(bool enable);
    参数 类型 描述
    enable bool true为允许发布相机流,false为不允许
  • IsLocalCameraPublishEnabled:查询当前是否允许发布相机流,返回true为允许,false为不允许。

    public bool IsLocalCameraPublishEnabled();
  • ConfigLocalScreenPublish(仅Mac、Windows可用):设置是否允许发布屏幕流。默认为不允许发布屏幕流,手动发布时,需要调用publish才能生效。

    public void ConfigLocalScreenPublish(bool enable);
    参数 类型 描述
    enable bool true为允许发布屏幕流,false为不允许发布屏幕流
  • IsLocalScreenPublishEnabled(仅Mac、Windows可用):查询当前是否允许发布屏幕流,返回true为允许,false为不允许。

    public bool IsLocalScreenPublishEnabled();
  • ConfigLocalAudioPublish:设置是否允许发布音频流。默认为允许发布音频流,手动发布时,需要调用publish才能生效。

    public void ConfigLocalAudioPublish(bool enable);
    参数 类型 描述
    enable bool true为允许发布音频流,false为不允许
  • IsLocalAudioPublishEnabled:查询当前是否允许发布音频流,返回true为允许,false为不允许。

    public void ConfigLocalSimulcast(bool enable, int track);
    参数 类型 描述
    enabled bool true表示允许发布次要流,false表示不允许
    track AliRTCVideoTrack 流类型,当前只支持相机流:VIDEO_TRACK_CAMERA
  • ConfigLocalSimulcast:设置是否允许发布次要视频流。默认为允许发布次要视频流,手动发布时,需要调用publish才能生效。

    public void ConfigLocalSimulcast(bool enable, int track);
    参数 类型 描述
    enabled bool true表示允许发布次要流,false表示不允许
    track AliRTCVideoTrack 流类型,当前只支持相机流:VIDEO_TRACK_CAMERA
  • IsLocalSimulcastEnabled:查询当前是否允许发布次要视频流,返回true为允许,false为不允许。

    public bool IsLocalSimulcastEnabled();
  • Publish:手动发布视频和音频流。

    • 调用Publish的实际表现需要结合ConfigLocalCameraPublish、ConfigLocalAudioPublish、ConfigLocalSimulcast等接口才能确定。
    • 根据您的具体业务需求配置上述3个接口的参数,以发布相应的视频和音频流。
    • 发布和停止发布都是调用Publish。
    • 如果需要停止发布,则需要上述3个配置接口的参数都置为NO,再调用Publish。
    • 需要在加入频道成功之后调用该接口。
    public void Publish();
  • IsAutoSubscribe:查询当前是否为自动订阅模式,返回true为自动订阅,false为手动订阅。

    public bool IsAutoSubscribe();
  • ConfigRemoteCameraTrack:设置是否订阅远端相机流。默认为订阅大流,手动订阅时,需要调用Subscribe才能生效。

    public void ConfigRemoteCameraTrack(string userId, bool master, bool enable);
    参数 类型 描述
    userId string 用户ID,从AppServer获取的唯一标示符
    master bool 是否优先订阅大流。true为订阅大流,false为订阅次小流
    enable bool true为订阅远端相机流,false为停止订阅远端相机流
  • ConfigRemoteScreenTrack:设置是否订阅远端屏幕流。默认为不订阅远端屏幕流,手动订阅时,需要调用Subscribe才能生效。

    public void ConfigRemoteScreenTrack(string userId, bool enable);
    参数 类型 描述
    userId string 用户ID,从AppServer获取的唯一标示符。
    enable bool true为订阅远端屏幕流,false为停止订阅远端屏幕流
  • ConfigRemoteAudio:设置是否订阅远端音频流。默认为订阅远端音频流,手动订阅时,需要调用Subscribe才能生效。

    public void ConfigRemoteAudio(string userId, bool enable);
    参数 类型 描述
    userId string 用户ID,从AppServer获取的唯一标示符
    enable bool true为订阅远端音频流,false为停止订阅远端音频流
  • Subscribe:手动订阅视频和音频流。

    • 调用Subscribe的实际表现需要结合ConfigRemoteCameraTrack、ConfigRemoteScreenTrack、ConfigRemoteAudio等接口才能确定。
    • 根据您的具体业务需求配置上述3个接口的参数,以订阅相应的视频和音频流。
    • 订阅和停止订阅都是调用Subscribe。
    • 如果需要停止订阅,则需要上述3个配置接口的参数都置为false,再调用Subscribe。
    public void Subscribe(string uid);
    参数 类型 描述
    uid string 用户ID,从AppServer获取的唯一标示符
  • setVideoProfile:设置视频流的参数。

    public void SetVideoProfile(int profile, int track);
    参数 类型 描述
    profile AliRTCVideoProfile 视频流参数
    track AliRTCVideoTrack 需要设置的videoTrack类型
  • GenerateTexture(仅iOS、Android可用):生成渲染纹理,返回值大于0为有效的纹理id,其他无效。

    public int GenerateTexture();
  • SetTexture:设置纹理(仅iOS、Android可用)。

    public int SetTexture(AliRTCTextureInfo textureInfo, int track, string userId);
    参数 类型 描述
    textureInfo AliRTCTextureInfo 纹理信息
    track AliRTCVideoTrack 需要设置的videoTrack类型
    userId int 用户ID
  • RemoveTexture:移除纹理(仅iOS、Android可用)。

    public void RemoveTexture(int textureId);
    参数 类型 描述
    textureId int 纹理id。
  • ConfigExternalVideoRendering:设置外部渲染模式(仅Mac、Windows可用)。

    public void ConfigExternalVideoRendering(bool enable);
    参数 类型 描述
    enable bool true为设置外部渲染模式,false为禁止外部渲染模式
  • GetVideoRenderData:设置外部渲染模式(仅Mac、Windows可用)。

    public bool GetVideoRenderData(string uid, int track, IntPtr data, ref int width, ref int height);
    参数 类型 描述
    uid string 用户ID
    track AliRTCVideoTrack videoTrack类型
    data IntPtr 数据输出指针
    width int 数据宽度
    height int 数据高度
  • SetLocalViewConfig:为本地预览设置渲染参数。

    public void SetLocalViewConfig(bool flip);
    参数 类型 描述
    flip bool true 表示打开镜像,false表示关闭镜像
  • MuteLocalCamera:设置是否停止发布本地视频流,不改变当前视频流的采集状态。

    public void MuteLocalCamera(bool mute, int track);
    参数 类型 描述
    mute bool true表示停止发布视频流,false表示恢复发布
    track AliRTCVideoTrack 需要改变发布状态的videoTrack类型
  • GetCameraList(仅Mac、Windows可用):获取摄像头列表。

    public string GetCameraList();
  • GetCurrentCamera(仅Mac、Windows可用):获取当前使用的摄像头名称。

    public string GetCurrentCamera();
  • SetCurrentCamera(仅Mac、Windows可用):选择摄像头。必须先调用getCameraList接口获取设备列表后再调用此接口设置。

    public void SetCurrentCamera(string deviceName);
    参数 类型 描述
    deviceName string 摄像头名称
  • SwitchCamera(仅iOS、Android可用):切换前后摄像头,返回0为切换成功,其他为切换失败。

    public int SwitchCamera();
  • SetCameraZoom(仅iOS、Android可用):设置摄像头参数,返回0表示设置成功,其他表示设置失败。

    public int SetCameraZoom(float zoom, bool flash, bool autoFocus);
    参数 类型 描述
    zoom float zoom变焦的级别,取值:-3~3,默认为0
    flash bool 是否打开闪光灯
    autoFocus bool 是否打开自动对焦
  • IsCameraOn:检查摄像头是否打开,true表示摄像头已打开,false表示摄像头没有打开。

    public bool IsCameraOn();
  • IsCameraFocusPointSupported(仅iOS、Android可用):摄像头是否支持手动聚焦。

    该方法返回true表示支持,false表示不支持。

    public bool IsCameraFocusPointSupported();
  • IsCameraExposurePointSupported(仅iOS、Android可用):摄像头是否支持设置曝光区域。

    该方法返回true表示支持,false表示不支持。

    public bool IsCameraExposurePointSupported();
  • SetCameraFocusPoint(仅iOS、Android可用):设置摄像头手动聚焦。

    该方法返回0表示成功,其他表示失败。

    public int SetCameraFocusPoint(float x, float y);
    参数 类型 描述
    x float 聚焦点x坐标
    y float 聚焦点y坐标
  • SetCameraExposurePoint(仅iOS、Android可用):设置摄像头曝光点。

    该方法返回0表示成功,其他表示失败。

    public int SetCameraExposurePoint(float x, float y);
    参数 类型 描述
    x float 聚焦点x坐标
    y float 聚焦点y坐标
  • SetAudioOnlyMode:设置是否为纯音频模式还是音视频模式,返回0代表设置成功,其他代表设置失败。默认为音视频模式(非纯音频),必须在JoinChannel之前设置。

    public void SetAudioOnlyMode(bool audioOnly);
    参数 类型 描述
    audioOnly bool true表示只有音频发布和订阅,false表示音视频都支持
  • IsAudioOnly:查询当前是否为纯音频模式,返回true为纯音频,false为音视频。

    public bool IsAudioOnly();
  • MuteLocalMic:设置是否停止发布本地音频,不改变当前音频的采集状态。

    public void MuteLocalMic(bool mute);
    参数 类型 描述
    mute bool true表示停止发布本地音频,false表示恢复发布
  • MuteRemoteAudioPlaying:设置是否停止播放远端音频流,返回0表示设置成功,-1表示设置失败。

    public int MuteRemoteAudioPlaying(string userId, bool mute);
    参数 类型 描述
    userId string 用户ID,从AppServer获取的唯一标示符
    mute bool true表示停止播放,false表示恢复播放
  • EnableSpeakerphone(仅iOS、Android可用):切换听筒、扬声器输出。

    public int EnableSpeakerphone(bool enable);
  • GetAudioCaptures(仅Mac、Windows可用):获取音频采集设备列表。

    public string GetAudioCaptures();
  • GetCurrentAudioCapture(仅Mac、Windows可用):获取当前使用的音频采集设备名称。

    public string GetCurrentAudioCapture();
  • SetCurrentAudioCapture(仅Mac、Windows可用):选择音频采集设备。必须先调用GetCurrentAudioCapture接口获取设备列表后再调用此接口设置。

    public void SetCurrentAudioCapture(string deviceName);
    参数 类型 描述
    deviceName string 音频采集设备名称
  • GetAudioRenderers(仅Mac、Windows可用):获取音频播放设备列表。

    public string GetAudioRenderers();
  • GetCurrentAudioRenderer(仅Mac、Windows可用):获取当前使用的音频播放设备。

    public string GetCurrentAudioRenderer();
  • SetCurrentAudioRenderer(仅Mac、Windows可用):选择音频播放设备。必须先调用GetAudioRenderers接口获取设备列表后再调用此接口设置。

    public void SetCurrentAudioRenderer(string deviceName);
    参数 类型 描述
    deviceName string 音频播放设备名称
  • StartAudioPlayer:开启音频播放。您可以控制提前打开音频播放,如果不设置,SDK会在订阅成功的时候打开音频播放。

    public void StartAudioPlayer();
  • StopAudioPlayer:关闭音频播放。您可以控制关闭音频播放。

    public void StopAudioPlayer();
  • StartPreview:开始本地预览,开始预览之前需要设置SetLocalViewConfig。

    您可以在加入频道之前开始本地预览。

    public void StartPreview();
  • StopPreview:停止本地预览。

    public void StopPreview();
  • GetOnlineRemoteUsers:获取远端在线用户列表,返回用户ID列表。

    public string GetOnlineRemoteUsers();
  • SetLogLevel:设置日志级别。

    public void SetLogLevel(int logLevel);
    参数 类型 描述
    logLevel AliRTCLogLevel 日志级别
  • GetSdkVersion:获取SDK版本号。

    public static string GetSdkVersion();
  • SetClientRole:设置频道模式。

    • 您仅可以在频道模式为InteractiveLive下调用。
    • 入会前或会议中均可设置,设置成功会收到OnUpdateRoleNotify。
    • 从Interactive转换为Live角色需要先停止推流,否则返回失败。
     public void SetClientRole(int role);
    参数 类型 描述
    role AliRTCClientRole 用户角色类型。、