AliRtcEngine接口
通过阅读本文,您可以了解实时音视频Android SDK接口详情。
目录
基础接口
API | 功能描述 |
创建AliRtcEngine实例(同一时间只会存在一个实例),只能在主线程调用。 | |
创建AliRtcEngine实例(同一时间只会存在一个实例),只能在主线程调用。 | |
销毁引擎。 | |
设置H5兼容模式。 | |
检查当前是否兼容H5。 | |
设置本地用户行为的回调事件的监听。 | |
设置远端用户行为的通知事件的监听。 |
频道相关接口
API | 功能描述 |
设置频道模式。 | |
设置音频Profile。 | |
查询当前是否为纯音频模式。 | |
设置为纯音频模式还是音视频模式。 | |
加入频道。 | |
加入频道。 | |
离开频道。 | |
检查当前是否在频道中 | |
设置用户角色。 | |
获取用户角色。 | |
refreshAuthInfo[1/2][1/2] | 刷新鉴权信息。 |
refreshAuthInfo[2/2][2/2] | 刷新鉴权信息 |
发布及订阅相关接口
API | 功能描述 |
设置是否发布音频流,默认会推送音频流 | |
查询当前是否推音频流。 | |
设置是否默认接收音频流,默认会订阅所有远端音频流;此接口建议入会前调用 | |
停止或恢复接收所有远端音频流。 | |
停止或恢复特定远端用户的音频流拉取。 | |
设置是否发布视频流。 | |
查询当前是否发布视频流。 | |
设置是否默认接收视频流,默认会订阅所有远端视频频流;此接口建议入会前调用 | |
停止或恢复接收所有远端视频流。 | |
停止或恢复特定远端用户的媒体流;建议在音视频都存在且要控制时使用此接口。 | |
停止或恢复跨频道特定远端用户的媒体流。 |
音频设备管理相关接口
API | 功能描述 |
设置是否停止发布本地音频。 | |
设置是否停止播放远端音频流。 | |
停止或恢复远端所有的音频播放。 | |
开启音频采集。 | |
开启音频采集 | |
关闭音频采集。 | |
设置音频输出为听筒还是扬声器。 | |
获取当前音频输出为听筒还是扬声器。 | |
开启音量检测功能。 | |
启用耳返。 |
音频变声与混响
API | 功能描述 |
设置变声音效模式。 | |
设置变调参数。 | |
设置混响音效模式。 | |
设置混响音效类型和具体参数。 |
自定义音频输入
API | 功能描述 |
增加外部音频流 | |
输入外部音频流数据 | |
设置推流音量 | |
获取推流音量 | |
设置外部音频流播放音量 | |
获取外部音频流播放音量 |
音效文件
API | 功能描述 |
预加载音效文件 | |
删除预加载的音效文件 | |
开始播放音效 | |
停止播放音效 | |
停止播放所有音效 | |
暂停音效 | |
暂停所有音效 | |
恢复指定音效文件 | |
恢复所有音效文件 | |
设置音效推流混音音量 | |
获取音效推流混音音量 | |
设置所有音效推流混音音量 | |
设置音效本地播放音量 | |
获取音效本地播放音量 | |
设置所有音效本地播音量 |
视频设备管理相关接口
API | 功能描述 |
创建SurfaceView渲染视图。 | |
为本地预览设置渲染窗口以及绘制参数。 | |
设置摄像头采集偏好。 | |
禁用或重新启用本地视频采集。 | |
设置是否停止发布本地视频流。 | |
为远端的视频设置渲染窗口以及绘制参数。 | |
检查摄像头是否打开。 | |
设置视频编码属性。 | |
切换前后摄像头(默认为前置摄像头)。 | |
获取当前摄像头方向。 | |
开始本地预览。 | |
停止本地预览。 |
自定义视频输入
API | 功能描述 |
启用外部视频输入源。 | |
输入视频数据。 |
直播旁路接口
API | 功能描述 |
开启旁路直播。 | |
更新旁路直播相关参数。 | |
停止旁路直播。 | |
获取旁路直播状态。 |
回调事件
API | 功能描述 |
网络链接状态回调;客户需要关心此回调。 | |
本地设备异常回调;客户需要关心此回调。 | |
用户鉴权信息即将过期通知,收到后30秒鉴权过期;客户需要关心此回调。 | |
用户调用需要鉴权的接口,服务端返回信息过期。 | |
加入频道结果回调。 | |
加入频道结果回调。 | |
离开频道结果回调。 | |
远端用户离线通知。 | |
远端用户上线通知。 | |
远端推流信息通知。 | |
被服务器踢出/会议结束频道的消息。 | |
音频推流状态通知。 | |
音频拉流状态通知。 | |
远端用户静音通知。 | |
音频设备打断开始通知。 | |
音频设备打断结束通知。 | |
视频推流变更回调。 | |
相机流订阅情况变更回调。 | |
对端用户发送视频黑帧数据发送通知。 | |
对端用户关闭相机流采集发送通知。 | |
远端用户应用退到后台。 | |
远端用户应用返回前台。 | |
实时数据回调(2s触发一次) | |
本地音效播放结束回调 | |
订阅的音频音量,语音状态和uid。 | |
语音激励,监测到活跃用户回调 | |
旁路推流状态改变回调 | |
旁路任务状态改变回调 |
其他接口
API | 功能描述 |
设置自定义参数 | |
获取自定义参数 | |
注册音量数据输出对象。 | |
取消音量数据输出对象注册。 | |
注册视频数据输出对象。 | |
取消注册视频数据输出对象。 | |
注册本地相机流视频OpenGL纹理数据观测器。 | |
取消注册本地相机流视频OpenGL纹理数据观测器。 | |
设置SDK日志文件保存路径。 | |
设置日志等级。 |
接口详情
getInstance[1/2]
获取一个AliRtcEngineImpl实例。
public static AliRtcEngineImpl getInstance(Context context);
参数说明
参数 | 类型 | 描述 |
context | Context | 安卓(Android Activity)的上下文。 |
同一时间只会存在一个主实例,只能在主线程调用。
getInstance[2/2]
获取一个AliRtcEngineImpl实例。
public static AliRtcEngineImpl getInstance(Context context, String extras);
参数说明
参数 | 类型 | 描述 |
context | Context | 安卓(Android Activity)的上下文。 |
extras | String | 用于接收来自客户灰度下发的参数,通过JSON配置SDK的特别功能,可以是空字符串。 |
同一时间只会存在一个主实例,只能在主线程调用。
destroy
销毁引擎。
public abstract void destroy();
在所有操作结束之后调用。
setH5CompatibleMode
设置是否兼容H5。
public static int setH5CompatibleMode(int enable);
参数说明
参数 | 类型 | 描述 |
enable | int | 设置是否兼容H5,取值:
|
当前版本不支持在创建AliRtcEngine实例之后更改H5兼容模式,必须在创建实例之前就调用此接口。
getH5CompatibleMode
检查当前是否兼容H5。
public static int getH5CompatibleMode();
返回值类型 | 描述 |
int |
|
setRtcEngineEventListener
设置本地用户行为的通知事件的监听。
public abstract void setRtcEngineEventListener(AliRtcEngineEventListener listener);
参数说明
参数 | 类型 | 描述 |
listener | AliRtcEngineEventListener | 设置本地用户行为的通知事件的监听。 |
setRtcEngineNotify
设置远端用户行为的通知事件的监听。
public abstract void setRtcEngineNotify(AliRtcEngineNotify listener);
参数说明
参数 | 类型 | 描述 |
listener | AliRtcEngineNotify | 设置远端用户行为的通知事件的监听。 |
setChannelProfile
设置频道模式。
public abstract int setChannelProfile(AliRTCSdkChannelProfile channelProfile);
参数说明
参数 | 类型 | 描述 |
channelProfile | 频道类型。默认值为AliEngineCommunication。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
该接口只可以在加入频道之前调用,会议中不可以重新设置,离开频道后可以重新设置。
setAudioProfile
设置音频Profile。
public abstract int setAudioProfile(AliRtcAudioProfile profile, AliRtcAudioScenario scenario);
参数说明
参数 | 类型 | 描述 |
profile | int | 音频采集或编码模式参数,默认值为AliEngineBasicQualityMode。更多信息,请参见AliRtcAudioProfile。 |
scenario | int | 音频场景模式参数,默认值为AliEngineSceneDefaultMode。更多信息,请参见 |
isAudioOnly
检查当前是否纯音频模式。
public abstract boolean isAudioOnly();
返回说明
true纯音频模式,false音视频模式。
setAudioOnlyMode
是否开启纯音频模式。
public abstract int setAudioOnlyMode(boolean audioOnly);
参数说明
参数 | 类型 | 描述 |
audioOnly | boolean | 设置音频模式还是音视频模式,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
joinChannel[1/2]
加入频道。
public abstract int joinChannel(String token, String channelId, String userId, String userName);
加入频道成功后,如果中途需要加入其他频道,必须先调用leaveChannel离开当前频道,如果加入频道失败,需要重试时,无需先调用leaveChannel。
参数说明
参数 | 类型 | 描述 |
token | String | 单参数入会的鉴权信息。 |
channelId | String | 入会频道,必须和产生token的值一样。 |
userId | String | 入会的userid,必须和产生token的值一样。 |
userName | String | 用户的显示名称(不是用户ID)。 |
返回说明
0表示方法调用成功,非0表示方法调用失败。
该接口是异步接口,是否成功加入频道,需要通过onJoinChannelResult[1/2]回调判断。
joinChannel[2/2]
加入频道。
public abstract int joinChannel(AliRtcAuthInfo authInfo, String userName);
加入频道成功后,如果中途需要加入其他频道,必须先调用leaveChannel离开当前频道,如果加入频道失败,需要重试时,无需先调用leaveChannel。
参数说明
参数 | 类型 | 描述 |
authInfo | 鉴权信息。 | |
userName | String | 用户的显示名称(不是用户ID)。 |
返回说明
0表示方法调用成功,非0表示方法调用失败。
该接口是异步接口,是否成功加入频道,需要通过onJoinChannelResult[2/2]回调判断。
leaveChannel
离开频道。
public abstract int leaveChannel();
返回说明
0表示方法调用成功,非0表示方法调用失败。
如果当前不在频道内,调用leaveChannel不会对实例产生任何影响,但会产生消息,通知频道内其他用户。
isInCall
检查当前是否在频道中。
public abstract boolean isInCall();
返回说明
true表示在频道中,false表示不在频道中。
setClientRole
设置用户角色。
public abstract int setClientRole(AliRTCSdkClientRole clientRole);
参数说明
参数 | 类型 | 描述 |
clientRole | 用户角色类型,默认值为AliRTCSdkLive(观众角色),非通信模式下角色类型才有效。 |
getCurrentClientRole
获取用户角色。
public abstract AliRTCSdkClientRole getCurrentClientRole();
返回说明
返回当前用户角色。
refreshAuthInfo[1/2]
刷新鉴权信息。
public abstract int refreshAuthInfo(String token);
参数说明
参数 | 类型 | 描述 |
token | String | 单参数入会的鉴权信息。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
refreshAuthInfo[2/2]
刷新鉴权信息。
public abstract int refreshAuthInfo(AliRtcAuthInfo authInfo);
参数说明
参数 | 类型 | 描述 |
authInfo | 鉴权信息。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
publishLocalAudioStream
设置是否发布音频流。
public abstract int publishLocalAudioStream(boolean enable);
参数说明
参数 | 类型 | 描述 |
enable | boolean | 是否发布音频流,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
isLocalAudioStreamPublished
查询当前是否发布音频流。
public abstract boolean isLocalAudioStreamPublished();
返回说明
true表示发布音频流,false表示不发布音频流。
setDefaultSubscribeAllRemoteAudioStreams
设置是否默认接收音频流。
public abstract int setDefaultSubscribeAllRemoteAudioStreams(boolean sub);
参数说明
参数 | 类型 | 描述 |
sub | boolean | 是否默认接收音频流,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
subscribeAllRemoteAudioStreams
设置是否接收所有远端音频流。
public abstract int subscribeAllRemoteAudioStreams(boolean sub);
参数说明
参数 | 类型 | 描述 |
sub | boolean | 是否接收所有远端音频流,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
subscribeRemoteAudioStream
停止或恢复特定远端用户的音频流拉取。
public abstract int subscribeRemoteAudioStream(String uid, boolean sub);
参数说明
参数 | 类型 | 描述 |
uid | String | 远端用户ID。 |
sub | boolean | 停止或恢复特定远端用户的音频流拉取,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
publishLocalVideoStream
设置是否发布相机流。
public abstract int publishLocalVideoStream(boolean enable);
参数说明
参数 | 类型 | 描述 |
enable | boolean | 是否发布相机流,取值:
|
isLocalVideoStreamPublished
查询当前是否发布相机流。
public abstract boolean isLocalVideoStreamPublished();
返回说明
true表示发布相机流,false表示不发布相机流。
setDefaultSubscribeAllRemoteVideoStreams
设置是否默认接收视频流。
public abstract int setDefaultSubscribeAllRemoteVideoStreams(boolean sub);
参数说明
参数 | 类型 | 描述 |
sub | boolean | 是否默认接收视频流,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
subscribeAllRemoteVideoStreams
停止或恢复接收所有远端视频流。
public abstract int subscribeAllRemoteVideoStreams(boolean sub);
参数说明
参数 | 类型 | 描述 |
sub | boolean | 停止或恢复接收所有远端视频流,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
subscribeRemoteMediaStream
停止或恢复特定远端用户的媒体流。
public abstract int subscribeRemoteMediaStream(String uid, AliRtcVideoTrack videoTrack, boolean subVideo, boolean subAudio);
参数说明
参数 | 类型 | 描述 |
uid | String | 远端用户ID。 |
videoTrack | 视频流类型。 | |
subVideo | boolean | 停止或恢复特定远端用户的视频流拉取,取值:
|
subAudio | boolean | 停止或恢复特定远端用户的音频流拉取,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
subscribeRemoteDestChannelStream
跨频道订阅指定用户的流。
public abstract int subscribeRemoteDestChannelStream(String channelId, String uid, AliRtcVideoTrack track, boolean sub_audio, boolean sub);
参数说明
参数 | 类型 | 描述 |
channelId | String | 远端频道ID。 |
uid | String | 远端用户ID。 |
track | 需要订阅的视频流。 | |
sub_audio | boolean | 停止或恢复特定远端用户的音频流拉取,取值:
|
sub | boolean | 停止或恢复跨频道订阅指定用户的流。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
muteLocalMic
停止或恢复本地音频数据发送。
public abstract int muteLocalMic(boolean mute, AliRtcMuteLocalAudioMode mode);
参数说明
参数 | 类型 | 描述 |
mute | boolean | 停止或恢复本地音频数据发送,取值:
|
mode | 静音模式,默认麦克风静音模式。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。mute只是发送音频数据为静音帧,采集和编码模块仍然在工作。
muteRemoteAudioPlaying
停止或恢复远端的音频播放。
public abstract int muteRemoteAudioPlaying(String uid, boolean mute);
参数说明
参数 | 类型 | 描述 |
uid | String | 用户ID。 |
mute | boolean | 停止或恢复远端的音频播放,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
muteAllRemoteAudioPlaying
停止或恢复远端所有的音频播放。
public abstract int muteAllRemoteAudioPlaying(boolean mute);
参数说明
参数 | 类型 | 描述 |
mute | boolean | 停止或恢复远端所有的音频播放,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
startAudioCapture[1/2]
开启音频采集。
public abstract int startAudioCapture();
返回说明
0表示方法调用成功,其他表示方法调用失败。
startAudioCapture[2/2]
开启音频采集。
public abstract int startAudioCapture(boolean keepAlive);
参数说明
参数 | 类型 | 描述 |
keepAlive | boolean | 离会后采集设备的状态,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
stopAudioCapture
关闭音频采集。
public abstract int stopAudioCapture();
返回说明
0表示方法调用成功,其他表示方法调用失败。
enableSpeakerphone
设置音频输出为听筒还是扬声器。
public abstract int enableSpeakerphone(boolean enable);
参数说明
参数 | 类型 | 描述 |
enable | boolean | 音频输出为听筒还是扬声器,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
isSpeakerOn
获取当前音频输出为听筒还是扬声器。
public abstract boolean isSpeakerOn();
返回说明
true为扬声器,false为听筒。
enableAudioVolumeIndication
设置音量回调频率和平滑系数。
public abstract int enableAudioVolumeIndication(int interval, int smooth, int reportVad);
参数说明
参数 | 类型 | 描述 |
interval | int | 时间间隔。
|
smooth | int | 平滑系数,数值越大平滑程度越高,反之越低,实时性越好。
|
reportVad | int | 本地语音检测开关。
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
enableEarBack
启用耳返。
public abstract int enableEarBack(boolean enable);
参数说明
参数 | 类型 | 描述 |
enable | boolean | 是否启用耳返,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
setAudioEffectVoiceChangerMode
设置变声音效模式。
public abstract int setAudioEffectVoiceChangerMode(AliRtcAudioEffectVoiceChangerMode mode);
参数说明
参数 | 类型 | 描述 |
mode | 变声音效模式,默认值为AliRtcSdk_AudioEffect_Voice_Changer_OFF(关闭)。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
setAudioEffectPitchValue
设置变调参数。
public abstract int setAudioEffectPitchValue(double value);
参数说明
参数 | 类型 | 描述 |
value | double | 参数取值范围:[0.5,2.0],默认值为1.0,表示音调不变。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
setAudioEffectReverbMode
设置混响音效模式。
public abstract int setAudioEffectReverbMode(AliRtcAudioEffectReverbMode mode);
参数说明
参数 | 类型 | 描述 |
mode | 音效混响模式,默认值为AliRtcAudioEffectReverb_Off(关闭)。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
setAudioEffectReverbParamType
设置混响音效类型和具体参数。
public abstract int setAudioEffectReverbParamType(AliRtcAudioEffectReverbParamType type, float value);
参数说明
参数 | 类型 | 描述 |
type | 音效混响参数。 | |
value | float | 具体参数值。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
addExternalAudioStream
新增外部音频流
public abstract int addExternalAudioStream(AliRtcExternalAudioStreamConfig config);
参数说明
参数 | 类型 | 描述 |
config | AliRtcExternalAudioStreamConfig | 外部音频流配置。 |
返回说明
>0表示方法调用成功,返回值为外部音频流ID,其他表示方法调用失败。
pushExternalAudioStreamRawData
输入外部音频流数据
public abstract int pushExternalAudioStreamRawData(int streamId, AliRtcAudioFrame rawData);
参数说明
参数 | 类型 | 描述 |
streamId | int | 外部音频流Id。 |
rawData | AliRtcAudioFrame | 音频数据 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
setExternalAudioStreamPublishVolume
设置外部音频流推流音量
public abstract int setExternalAudioStreamPublishVolume(int streamId, int publishVolume);
参数说明
参数 | 类型 | 描述 |
streamId | int | 外部音频流Id。 |
publishVolume | int | 推流音量,取值范围[0, 100]。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
getExternalAudioStreamPublishVolume
获取外部音频流推流音量
public abstract int getExternalAudioStreamPublishVolume(int streamId);
参数说明
参数 | 类型 | 描述 |
streamId | int | 外部音频流Id。 |
返回说明
[0, 100]推流音量,< 0: 失败。
setExternalAudioStreamPlayoutVolume
设置外部音频流播放音量
public abstract int setExternalAudioStreamPlayoutVolume(int streamId, int playoutVolume);
参数说明
参数 | 类型 | 描述 |
streamId | int | 外部音频流Id。 |
playoutVolume | int | 播放音量,取值范围[0, 100]。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
getExternalAudioStreamPlayoutVolume
获取外部音频流播放音量
public abstract int getExternalAudioStreamPlayoutVolume(int streamId);
参数说明
参数 | 类型 | 描述 |
streamId | int | 外部音频流Id。 |
返回说明
[0, 100] 播放音量,< 0表示调用失败。
preloadAudioEffect
预加载音效文件。
public abstract int preloadAudioEffect(int soundId, String filePath);
参数说明
参数 | 类型 | 描述 |
soundId | int | 用户给该音效文件分配的ID。 |
filePath | String | 音效文件路径。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
unloadAudioEffect
删除预加载的音效文件。
public abstract int unloadAudioEffect(int soundId);
参数说明
参数 | 类型 | 描述 |
soundId | int | 用户给该音效文件分配的ID。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
playAudioEffect
开始播放音效。
public abstract int playAudioEffect(int soundId, String filePath, int cycles, boolean publish);
参数说明
参数 | 类型 | 描述 |
soundId | int | 用户给该音效文件分配的ID。 |
filePath | String | 音效文件路径。 |
cycles | int | 循环次数,-1表示一直循环。 |
publish | boolean | 是否将音效音频流推到远端,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
stopAudioEffect
停止播放音效。
public abstract int stopAudioEffect(int soundId);
参数说明
参数 | 类型 | 描述 |
soundId | int | 用户给该音效文件分配的ID。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
stopAllAudioEffects
停止播放所有音效。
public abstract int stopAllAudioEffects();
返回说明
0表示方法调用成功,其他表示方法调用失败。
setAudioEffectPublishVolume
设置音效推流音量。
public abstract int setAudioEffectPublishVolume(int soundId, int volume);
参数说明
参数 | 类型 | 描述 |
soundId | int | 用户给该音效文件分配的ID。 |
volume | int | 混音音量,取值范围:0~100,默认值为50。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
getAudioEffectPublishVolume
获取推流音效音量。
public abstract int getAudioEffectPublishVolume(int soundId);
参数说明
参数 | 类型 | 描述 |
soundId | int | 用户给该音效文件分配的ID。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
setAudioEffectPlayoutVolume
设置音效本地播放音量。
public abstract int setAudioEffectPlayoutVolume(int soundId, int volume);
参数说明
参数 | 类型 | 描述 |
soundId | int | 用户给该音效文件分配的ID。 |
volume | int | 混音音量,取值范围:0~100,默认值为50。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
getAudioEffectPlayoutVolume
获取音效本地播放音量(Android和iOS)。
public abstract int getAudioEffectPlayoutVolume(int soundId);
参数说明
参数 | 类型 | 描述 |
soundId | int | 用户给该音效文件分配的ID。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
setAllAudioEffectsPublishVolume
设置所有音效推流混音音量。
public abstract int setAllAudioEffectsPublishVolume(int volume);
参数说明
参数 | 类型 | 描述 |
volume | int | 混音音量,取值范围:0~100,默认值为50。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
setAllAudioEffectsPlayoutVolume
设置所有音效本地播音量(Android和iOS)。
public abstract int setAllAudioEffectsPlayoutVolume(int volume);
参数说明
参数 | 类型 | 描述 |
volume | int | 混音音量,取值范围:0~100,默认值为50。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
pauseAudioEffect
暂停音效。
public abstract int pauseAudioEffect(int soundId);
参数说明
参数 | 类型 | 描述 |
soundId | int | 用户给该音效文件分配的ID。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
pauseAllAudioEffects
暂停所有音效。
public abstract int pauseAllAudioEffects();
返回说明
0表示方法调用成功,其他表示方法调用失败。
resumeAudioEffect
重新开始播放音效。
public abstract int resumeAudioEffect(int soundId);
参数说明
参数 | 类型 | 描述 |
soundId | int | 用户给该音效文件分配的ID。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
resumeAllAudioEffects
重新开始播放所有音效。
public abstract int resumeAllAudioEffects();
返回说明
0表示方法调用成功,其他表示方法调用失败。
createRenderSurfaceView
创建SurfaceView渲染视图。
public abstract SophonSurfaceView createRenderSurfaceView(Context context);
参数说明
参数 | 类型 | 描述 |
context | Context | 安卓(Android Activity)的上下文。 |
setLocalViewConfig
为本地预览设置渲染窗口以及绘制参数。
public abstract int setLocalViewConfig(AliRtcVideoCanvas viewConfig, AliRtcVideoTrack track);
支持加入频道之前和之后切换窗口。如果AliRtcVideoCanvas中的view参数为空,则停止渲染。如果在播放过程中需要重新设置AliRtcVideoCanvas的参数renderMode,请保持其他参数不变,仅修改renderMode。如果在播放过程中需要重新设置AliRtcVideoCanvas的参数mirrorMode,请保持其他参数不变,仅修改mirrorMode。
参数说明
参数 | 类型 | 描述 |
viewConfig | 渲染参数,包含渲染窗口以及渲染方式。 | |
track | 视频流类型。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
setCameraCapturerConfiguration
设置摄像头采集偏好。
public abstract int setCameraCapturerConfiguration(AliEngineCameraCapturerConfiguration cameraCapturerConfiguration);
参数说明
参数 | 类型 | 描述 |
cameraCapturerConfiguration | 摄像头采集偏好。默认值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
enableLocalVideo
禁用或重新启用本地视频采集。
public abstract int enableLocalVideo(boolean enable);
参数说明
参数 | 类型 | 描述 |
enable | boolean | 禁用或重新启用本地视频采集,取值:
|
返回说明
0表示方法调用成功,其他表示方法调用失败。
muteLocalCamera
停止或恢复本地视频数据发送。
public abstract int muteLocalCamera(boolean mute, AliRtcVideoTrack track);
参数说明
参数 | 类型 | 描述 |
mute | boolean | 停止或恢复本地视频数据发送,取值:
|
track | 需要改变发布状态的视频流类型。 |
返回说明
0表示方法调用成功。
此接口只是控制指定视频流上是否发送黑帧,采集和数据发送不会停止。如果需要关闭采集请使用enableLocalVideo接口,如果需要中止视频数据发送请使用publishLocalVideoStream接口。
setRemoteViewConfig
为远端的视频设置渲染窗口以及绘制参数。
public abstract int setRemoteViewConfig(AliVideoCanvas canvas, String uid,AliRtcVideoTrack track);
支持加入频道之前和之后切换窗口。如果AliRtcVideoCanvas中的view参数为空,则停止渲染。如果在播放过程中需要重新设置AliRtcVideoCanvas的参数renderMode,请保持其他参数不变,仅修改renderMode。如果在播放过程中需要重新设置AliRtcVideoCanvas的参数mirrorMode,请保持其他参数不变,仅修改mirrorMode。
参数说明
参数 | 类型 | 描述 |
canvas | 渲染参数,包含渲染窗口以及渲染方式。 | |
uid | String | 用户ID。 |
track | 需要设置的视频流类型。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
isCameraOn
检查摄像头是否打开。
public abstract boolean isCameraOn();
返回说明
true表示摄像头已打开,false表示摄像头未打开。
setVideoEncoderConfiguration
设置视频编码属性。
public abstract void setVideoEncoderConfiguration(AliRtcVideoEncoderConfiguration config);
参数说明
参数 | 类型 | 描述 |
config | 预定义的编码属性。默认值:
|
switchCamera
切换前后摄像头(默认为前置摄像头)。
public abstract int switchCamera();
返回说明
0表示方法调用成功,其他表示方法调用失败。
getCurrentCameraDirection
获取当前摄像头方向。
public abstract AliRTCCameraDirection getCurrentCameraDirection();
返回说明
返回CAMERA_REAR(0)表示后置摄像头。
返回CAMERA_FRONT(1)表示前置摄像头。
返回CAMERA_INVALID(-1)表示无效。
此接口需要在摄像头打开之后调用,否则会返回CAMERA_INVALID(-1)。
startPreview
开始本地预览。
public abstract int startPreview();
返回说明
0表示方法调用成功,其他表示方法调用失败。
stopPreview
停止本地预览。
public abstract int stopPreview();
返回说明
0表示方法调用成功,其他表示方法调用失败。
setExternalVideoSource
启用外部视频输入源。
public abstract void setExternalVideoSource(boolean enable,boolean useTexture,
AliRtcVideoTrack streamType,AliRtcRenderMode renderMode);
参数说明
参数 | 类型 | 描述 |
enable | boolean | 启用外部视频输入源,取值:
|
useTexture | boolean | 是否使用texture模式,取值:
|
type | 视频流类型。 | |
renderMode | 渲染模式。 |
pushExternalVideoFrame
输入视频数据。
public abstract int pushExternalVideoFrame(AliRtcRawDataFrame aliRawDataFrame,AliRtcVideoTrack streameType);
参数说明
参数 | 类型 | 描述 |
aliRawDataFrame | 帧数据。 | |
streameType | 视频流类型。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
startPublishLiveStream
开启旁路直播。
public abstract int startPublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);
参数说明
参数 | 类型 | 描述 |
streamUrl | String | 推流地址。 |
transcodingParam | 推流参数。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
updatePublishLiveStream
更新旁路直播相关参数。
public abstract int updatePublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);
参数说明
参数 | 类型 | 描述 |
streamUrl | String | 推流地址。 |
transcodingParam | 推流参数。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
stopPublishLiveStream
停止旁路直播。
public abstract int stopPublishLiveStream(String streamUrl);
参数说明
参数 | 类型 | 描述 |
streamUrl | String | 推流地址。 |
返回说明
0表示方法调用成功,其他表示方法调用失败。
getPublishLiveStreamState
获取旁路直播状态。
public abstract AliRtcEngine.AliRtcLiveTranscodingState getPublishLiveStreamState(String streamUrl);
参数说明
参数 | 类型 | 说明 |
streamUrl | String | 旁路直播推流地址。 |
返回说明
返回旁路直播状态。
onConnectionStatusChange
网络链接状态回调;客户需要关心此回调。
public void onConnectionStatusChange(AliRtcEngine.AliRtcConnectionStatus status,
AliRtcEngine.AliRtcConnectionStatusChangeReason reason);
参数 | 类型 | 描述 |
status | 当前网络链接状态。 | |
reason | 网络链接状态改变原因。 |
OnLocalDeviceException
本地设备异常回调;客户需要关心此回调。
public void OnLocalDeviceException(AliRtcEngine.AliRtcEngineLocalDeviceType deviceType, AliRtcEngine.AliRtcEngineLocalDeviceExceptionType exceptionType, String msg)
参数 | 类型 | 描述 |
deviceType | AliRtcEngineLocalDeviceType | 设备类型 |
exceptionType | AliRtcEngineLocalDeviceExceptionType | 设备异常类型 |
msg | String | 异常时携带的信息 |
onAuthInfoWillExpire
用户鉴权信息即将过期通知,收到后30秒鉴权过期;客户需要关心此回调。
public void onAuthInfoWillExpire();
onAuthInfoExpired
用户调用需要鉴权的接口,服务端返回信息过期。
public void onAuthInfoExpired();
onJoinChannelResult[1/2]
加入频道结果回调。
public void onJoinChannelResult(int result, String channel, int elapsed);
参数 | 类型 | 描述 |
result | int | 加入频道结果,成功返回0;失败返回错误码,详情请参见错误码列表。 |
channel | String | 频道ID。 |
elapsed | int | 加入频道耗时。单位:毫秒。 |
onJoinChannelResult[2/2]
加入频道结果回调。
public void onJoinChannelResult(int result, String channel, String userId, int elapsed);
参数 | 类型 | 描述 |
result | int | 加入频道结果,成功返回0;失败返回错误码,详情请参见错误码列表。 |
channel | String | 频道ID。 |
userId | String | 用户ID。 |
elapsed | int | 加入频道耗时。单位:毫秒。 |
onLeaveChannelResult
离开频道结果回调。
调用leaveChannel接口后返回该回调,如果离开频道后直接销毁SDK,将不会收到该回调。
public void onLeaveChannelResult(int result, AliRtcEngine.AliRtcStats stats);
参数 | 类型 | 描述 |
result | int | 离开频道结果,成功返回0,失败返回错误码。 |
stats | 本次频道内会话的数据统计汇总。 |
onRemoteUserOffLineNotify
远端用户下线回调。
public void onRemoteUserOffLineNotify(String uid, AliRtcUserOfflineReason reason);
参数 | 类型 | 描述 |
uid | String | 远端用户ID。 |
reason | 用户离线的原因。 |
onRemoteUserOnLineNotify
远端用户上线回调。
public void onRemoteUserOnLineNotify(String uid, int elapsed);
参数 | 类型 | 描述 |
uid | String | 远端用户ID。 |
elapsed | int | 用户加入频道时的耗时。单位:毫秒。 |
onRemoteTrackAvailableNotify
远端用户音视频流发生变化时回调。
public void onRemoteTrackAvailableNotify(String uid, AliRtcAudioTrack audioTrack,
AliRtcVideoTrack videoTrack);
参数 | 类型 | 描述 |
uid | String | 远端用户ID。 |
audioTrack | 远端用户发生变化后的音频流。 | |
videoTrack | 远端用户发生变化后的视频流。 |
onBye
被服务器踢出或者频道关闭时回调。
public void onBye(int code);
参数 | 类型 | 描述 |
code | int | onBye类型,更多信息,请参见AliRtcOnByeType。 |
onAudioPublishStateChanged
音频推流变更回调。
public void onAudioPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState ,
AliRtcEngine.AliRtcPublishState newState,
int elapseSinceLastState, String channel);
参数 | 类型 | 描述 |
oldState | 之前的推流状态。 | |
newState | 当前的推流状态。 | |
elapseSinceLastState | int | 状态变更时间间隔。单位:毫秒。 |
channel | String | 当前频道ID。 |
onAudioSubscribeStateChanged
音频订阅情况变更回调。
public void onAudioSubscribeStateChanged(String uid,
AliRtcEngine.AliRtcSubscribeState oldState,
AliRtcEngine.AliRtcSubscribeState newState,
int elapseSinceLastState, String channel);
参数 | 类型 | 描述 |
uid | String | 远端用户ID。 |
oldState | 之前的订阅状态。 | |
newState | 当前的订阅状态。 | |
elapseSinceLastState | int | 状态变更时间间隔。单位:毫秒。 |
channel | String | 当前频道ID。 |
onUserAudioMuted
对端用户停止音频数据发送通知。
public void onUserAudioMuted(String uid ,boolean isMute);
参数 | 类型 | 描述 |
uid | String | 执行muteAudio的用户。 |
isMute | boolean | 是否静音,取值:
|
onUserAudioInterruptedBegin
用户音频被中断通知。
public void onUserAudioInterruptedBegin(String uid);
参数 | 类型 | 描述 |
uid | String | audio被中断的用户。 |
onUserAudioInterruptedEnded
用户音频中断结束通知。
public void onUserAudioInterruptedEnded(String uid);
参数 | 类型 | 描述 |
uid | String | audio被中断的用户。 |
onVideoPublishStateChanged
视频推流变更回调。
public void onVideoPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState ,
AliRtcEngine.AliRtcPublishState newState,
int elapseSinceLastState, String channel);
参数 | 类型 | 描述 |
oldState | 之前的推流状态。 | |
newState | 当前的推流状态。 | |
elapseSinceLastState | int | 状态变更时间间隔。单位:毫秒。 |
channel | String | 当前频道ID。 |
onVideoSubscribeStateChanged
相机流订阅情况变更回调。
public void onVideoSubscribeStateChanged(String uid,
AliRtcEngine.AliRtcSubscribeState oldState,
AliRtcEngine.AliRtcSubscribeState newState,
int elapseSinceLastState, String channel);
参数 | 类型 | 描述 |
uid | String | 远端用户ID。 |
oldState | 之前的订阅状态。 | |
newState | 当前的订阅状态。 | |
elapseSinceLastState | int | 状态变更时间间隔。 |
channel | String | 当前频道ID。 |
onUserVideoMuted
对端用户发送视频黑帧数据发送通知。
public void onUserVideoMuted(String uid, boolean isMute);
参数 | 类型 | 描述 |
uid | String | 执行enableLocalVideo的用户。 |
isMute | boolean | 是否发送黑帧,取值:
|
onUserVideoEnabled
对端用户关闭相机流采集发送通知。
public void onUserVideoEnabled(String uid, boolean isMute);
参数 | 类型 | 描述 |
uid | String | 远端用户ID。 |
isMute | boolean | 是否开启相机流采集,取值:
|
onUserWillResignActive
远端用户应用退到后台。
public void onUserWillResignActive(String uid);
参数 | 类型 | 描述 |
uid | String | 用户ID。 |
onUserWillBecomeActive
远端用户应用返回前台。
public void onUserWillBecomeActive(String uid);
参数 | 类型 | 描述 |
uid | String | 用户ID。 |
onAliRtcStats
当前会话统计信息回调。
public void onAliRtcStats(AliRtcEngine.AliRtcStats stats);
SDK每两秒触发一次此统计信息回调。
参数 | 类型 | 描述 |
stats | 会话统计信息。 |
onAudioEffectFinished
本地音效播放结束回调。
void OnAudioEffectFinished(int soundId);
参数 | 类型 | 描述 |
soundId | int | 用户给该音效文件分配的ID。 |
onAudioVolume
订阅的音频音量,语音状态和uid。
public void onAudioVolume(List<AliRtcEngine.AliRtcAudioVolume> speakers, int totalVolume);
参数 | 类型 | 描述 |
speakers | List<AliRtcEngine.AliRtcAudioVolume> | 回调用户音量信息数组,包含用户uid、语音状态以及音量。 当uid为0时表示本地说话人。 |
totalVolume | int | 混音后的总音量,取值范围:[0,255]。 在本地用户的回调中,totalVolume为本地用户混音后的音量;在远端用户的回调中,totalVolume为所有说话者混音后的总音量。 |
onActiveSpeaker
订阅当前正在说话的人。
public void OnActiveSpeaker(String uid);
参数 | 类型 | 描述 |
uid | String | 说话人的uid,当uid为0时表示本地说话人。其返回的是当前时间段内声音最大的用户ID,而不是瞬时声音最大的用户ID。 |
onPublishLiveStreamStateChanged
旁路推流状态改变回调。
public void onPublishLiveStreamStateChanged(String streamUrl, AliRtcLiveTranscodingState state, AliEngineLiveTranscodingErrorCode errorCode);
参数 | 类型 | 描述 |
streamUrl | String | 推流地址。 |
state | 旁路直播状态。 | |
errorCode | 错误码。 |
onPublishTaskStateChanged
旁路任务状态改变回调。
public void onPublishTaskStateChanged(String streamUrl, AliRtcTrascodingPublishTaskStatus state);
参数 | 类型 | 描述 |
streamUrl | String | 推流地址。 |
state | 旁路直播推流任务状态。 |
setParameter
设置自定义参数
public abstract int setParameter(String param);
参数 | 类型 | 描述 |
param | String | 自定义参数。 |
getParameter
获取自定义参数。
public abstract String getParameter(String param);
参数 | 类型 | 描述 |
param | String | 自定义参数。 |
registerAudioVolumeObserver
注册音量数据输出对象。
public abstract void registerAudioVolumeObserver(AliRtcAudioVolumeObserver observer);
参数说明
参数 | 类型 | 描述 |
observer | AliRtcAudioVolumeObserver | 音量数据接收对象。 |
unRegisterAudioVolumeObserver
取消注册音量数据输出对象。
public abstract void unRegisterAudioVolumeObserver();
registerVideoSampleObserver
注册视频数据输出对象。
public abstract void registerVideoSampleObserver(AliVideoObserver observer);
参数说明
参数 | 类型 | 描述 |
observer | AliRtcVideoObserver | 视频数据输出对象。 |
返回说明
输出数据将通过AliVideoObserver回调返回。
unRegisterVideoSampleObserver
取消注册视频数据输出对象。
public abstract void unRegisterVideoSampleObserver();
registerLocalVideoTextureObserver
注册本地相机流视频OpenGL纹理数据观测器。
public abstract void registerLocalVideoTextureObserver(AliTextureObserver observer);
参数说明
参数 | 类型 | 描述 |
observer | AliRtcTextureObserver | OpenGL纹理数据观测器。 |
返回说明
输出数据将通过AliVideoObserver回调返回。
unRegisterLocalVideoTextureObserver
取消注册本地相机流视频OpenGL纹理数据观测器。
public abstract void unRegisterLocalVideoTextureObserver();
setLogDirPath
设置SDK日志文件保存路径。
public static int setLogDirPath(String logDirPath);
参数说明
参数 | 类型 | 描述 |
logDirPath | String | 日志文件保存绝对路径。默认路径:app目录下。 |
返回说明
0表示方法调用成功,非0表示方法调用失败。说明如需调用此接口,请在调用所有SDK接口前进行设置,避免日志丢失,同时App必须保证指定的路径已存在并且可写入。
setLogLevel
设置日志等级。
public static void setLogLevel(AliRtcLogLevel logLevel);
参数说明
参数 | 类型 | 描述 |
logLevel | Log级别。 |