通过阅读本文,您可以了解到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。
您需要在创建AliRtcEngine实例前调用该接口。
public static void SetH5CompatibleMode(bool comp);
参数 类型 描述 comp bool YES为兼容H5模式,NO为不兼容H5。 -
GetH5CompatibleMode:检查当前是否兼容H5。
您需要在创建AliRtcEngine实例前调用该接口。
返回说明public static bool GetH5CompatibleMode();
返回true表示兼容H5,false表示不兼容H5。
-
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下发。 userName string 用户的显示名称,不是用户ID。 -
LeaveChannel:离开频道。
public void LeaveChannel();
-
IsInCall:检查当前是否在频道中。
返回说明public bool IsInCall();
返回true表示在频道中,false表示不在频道中。
-
SetChannelProfile:设置频道模式。
说明 您只可以在加入频道之前调用,会议中不可以重新设置,离开频道后可以重新设置。public void SetChannelProfile(int profile);
参数 类型 描述 profile int 频道模式类型。 -
IsAutoPublish:查询当前是否为自动发布模式。
返回说明public bool IsAutoPublish();
返回true表示自动发布,false表示手动发布。
-
ConfigLocalCameraPublish:设置是否允许发布相机流。默认为允许发布相机流,手动发布时,需要调用publish才能生效。
public void ConfigLocalCameraPublish(bool enable);
参数 类型 描述 enable bool true为允许发布相机流,false为不允许。 -
IsLocalCameraPublishEnabled:查询当前是否允许发布相机流。
返回说明public bool IsLocalCameraPublishEnabled();
返回true表示允许,false表示不允许。
-
ConfigLocalScreenPublish(仅Mac、Windows可用):设置是否允许发布屏幕流。默认为不允许发布屏幕流,手动发布时,需要调用publish才能生效。
public void ConfigLocalScreenPublish(bool enable);
参数 类型 描述 enable bool true为允许发布屏幕流,false为不允许发布屏幕流。 -
IsLocalScreenPublishEnabled(仅Mac、Windows可用):查询当前是否允许发布屏幕流。
返回说明public bool IsLocalScreenPublishEnabled();
返回true表示允许,false表示不允许。
-
ConfigLocalAudioPublish:设置是否允许发布音频流。默认为允许发布音频流,手动发布时,需要调用publish才能生效。
public void ConfigLocalAudioPublish(bool enable);
参数 类型 描述 enable bool true为允许发布音频流,false为不允许。 -
IsLocalAudioPublishEnabled:查询当前是否允许发布音频流。
返回说明public bool IsLocalAudioPublishEnabled();
返回true表示允许,false表示不允许。
-
ConfigLocalSimulcast:设置是否允许发布次要视频流。默认为允许发布次要视频流,手动发布时,需要调用publish才能生效。
public void ConfigLocalSimulcast(bool enable, int track);
参数 类型 描述 enabled bool true表示允许发布次要流,false表示不允许。 track AliRTCVideoTrack 流类型,当前只支持相机流:VIDEO_TRACK_CAMERA。 -
IsLocalSimulcastEnabled:查询当前是否允许发布次要视频流。
返回说明public bool IsLocalSimulcastEnabled();
返回true表示允许,false表示不允许。
-
Publish:手动发布视频和音频流。
- 调用Publish的实际表现需要结合ConfigLocalCameraPublish、ConfigLocalAudioPublish、ConfigLocalSimulcast等接口才能确定。
- 根据您的具体业务需求配置上述3个接口的参数,以发布相应的视频和音频流。
- 发布和停止发布都是调用Publish。
- 如果需要停止发布,则需要上述3个配置接口的enabled参数置为false,再调用Publish。
- 需要在加入频道成功之后调用该接口。
public void Publish();
-
IsAutoSubscribe:查询当前是否为自动订阅模式。
返回说明public bool IsAutoSubscribe();
返回true表示自动订阅,false表示手动订阅。
-
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可用):生成渲染纹理。
返回说明public int GenerateTexture();
返回值大于0表示有效的纹理ID,其他表示无效。
-
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:为本地预览设置渲染参数(仅Mac、Windows)。
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可用):切换前后摄像头。
返回说明public int SwitchCamera();
返回0表示切换成功,其他表示切换失败。
-
SetCameraZoom(仅iOS、Android可用):设置摄像头参数。
public int SetCameraZoom(float zoom, bool flash, bool autoFocus);
参数 类型 描述 zoom float zoom变焦的级别,取值:-3~3,默认为0。 flash bool 是否打开闪光灯。 autoFocus bool 是否打开自动对焦。 返回0表示设置成功,其他表示设置失败。
-
IsCameraOn:检查摄像头是否打开(仅iOS、Android)。
返回说明public bool IsCameraOn();
返回true表示摄像头已打开,false表示摄像头没有打开。
-
IsCameraFocusPointSupported(仅iOS、Android可用):摄像头是否支持手动聚焦。
返回说明public bool IsCameraFocusPointSupported();
返回true表示支持,false表示不支持。
-
IsCameraExposurePointSupported(仅iOS、Android可用):摄像头是否支持设置曝光区域。
返回说明public bool IsCameraExposurePointSupported();
返回true表示支持,false表示不支持。
-
SetCameraFocusPoint(仅iOS、Android可用):设置摄像头手动聚焦。
public int SetCameraFocusPoint(float x, float y);
参数 类型 描述 x float 聚焦点x坐标。 y float 聚焦点y坐标。 返回0表示设置成功,其他表示设置失败。
-
SetCameraExposurePoint(仅iOS、Android可用):设置摄像头曝光点。
public int SetCameraExposurePoint(float x, float y);
参数 类型 描述 x float 曝光点x坐标。 y float 曝光点y坐标。 返回0表示设置成功,其他表示设置失败。
-
SetAudioOnlyMode:设置是否为纯音频模式还是音视频模式。默认为音视频模式(非纯音频),必须在JoinChannel之前设置。
public void SetAudioOnlyMode(bool audioOnly);
参数 类型 描述 audioOnly bool true表示只有音频发布和订阅,false表示音视频都支持。 -
IsAudioOnly:查询当前是否为纯音频模式。
返回说明public bool IsAudioOnly();
返回true表示纯音频,false表示音视频。
-
MuteLocalMic:设置是否停止发布本地音频,不改变当前音频的采集状态。
public void MuteLocalMic(bool mute);
参数 类型 描述 mute bool true表示停止发布本地音频,false表示恢复发布。 -
MuteRemoteAudioPlaying:设置是否停止播放远端音频流。
public int MuteRemoteAudioPlaying(string userId, bool mute);
参数 类型 描述 userId string 用户ID,从AppServer获取的唯一标示符。 mute bool true表示停止播放,false表示恢复播放。 返回0表示设置成功,-1表示设置失败。
-
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 用户角色类型,默认值为CLIENT_ROLE_LIVE(观众角色),非通信模式下角色类型才有效。