AliRtcEngine接口

通过阅读本文,您可以了解实时音视频Android SDK接口详情。

目录

基础接口

API

功能描述

getInstance[1/2]

创建AliRtcEngine实例(同一时间只会存在一个实例),只能在主线程调用。

getInstance[2/2]

创建AliRtcEngine实例(同一时间只会存在一个实例),只能在主线程调用。

destroy

销毁引擎。

setH5CompatibleMode

设置H5兼容模式。

getH5CompatibleMode

检查当前是否兼容H5。

setRtcEngineEventListener

设置本地用户行为的回调事件的监听。

setRtcEngineNotify

设置远端用户行为的通知事件的监听。

频道相关接口

API

功能描述

setChannelProfile

设置频道模式。

setAudioProfile

设置音频Profile。

isAudioOnly

查询当前是否为纯音频模式。

setAudioOnlyMode

设置为纯音频模式还是音视频模式。

joinChannel[1/2]

加入频道。

joinChannel[2/2]

加入频道。

leaveChannel

离开频道。

isInCall

检查当前是否在频道中

setClientRole

设置用户角色。

getCurrentClientRole

获取用户角色。

refreshAuthInfo[1/2][1/2]

刷新鉴权信息。

refreshAuthInfo[2/2][2/2]

刷新鉴权信息

发布及订阅相关接口

API

功能描述

publishLocalAudioStream

设置是否发布音频流,默认会推送音频流

isLocalAudioStreamPublished

查询当前是否推音频流。

setDefaultSubscribeAllRemoteAudioStreams

设置是否默认接收音频流,默认会订阅所有远端音频流;此接口建议入会前调用

subscribeAllRemoteAudioStreams

停止或恢复接收所有远端音频流。

subscribeRemoteAudioStream

停止或恢复特定远端用户的音频流拉取。

publishLocalVideoStream

设置是否发布视频流。

isLocalVideoStreamPublished

查询当前是否发布视频流。

setDefaultSubscribeAllRemoteVideoStreams

设置是否默认接收视频流,默认会订阅所有远端视频频流;此接口建议入会前调用

subscribeAllRemoteVideoStreams

停止或恢复接收所有远端视频流。

subscribeRemoteMediaStream

停止或恢复特定远端用户的媒体流;建议在音视频都存在且要控制时使用此接口。

subscribeRemoteDestChannelStream

停止或恢复跨频道特定远端用户的媒体流。

音频设备管理相关接口

API

功能描述

muteLocalMic

设置是否停止发布本地音频。

muteRemoteAudioPlaying

设置是否停止播放远端音频流。

muteAllRemoteAudioPlaying

停止或恢复远端所有的音频播放。

startAudioCapture[1/2]

开启音频采集。

startAudioCapture[2/2]

开启音频采集

stopAudioCapture

关闭音频采集。

enableSpeakerphone

设置音频输出为听筒还是扬声器。

isSpeakerOn

获取当前音频输出为听筒还是扬声器。

enableAudioVolumeIndication

开启音量检测功能。

enableEarBack

启用耳返。

音频变声与混响

API

功能描述

setAudioEffectVoiceChangerMode

设置变声音效模式。

setAudioEffectPitchValue

设置变调参数。

setAudioEffectReverbMode

设置混响音效模式。

setAudioEffectReverbParamType

设置混响音效类型和具体参数。

自定义音频输入

API

功能描述

addExternalAudioStream

增加外部音频流

pushExternalAudioStreamRawData

输入外部音频流数据

setExternalAudioStreamPublishVolume

设置推流音量

getExternalAudioStreamPublishVolume

获取推流音量

setExternalAudioStreamPlayoutVolume

设置外部音频流播放音量

getExternalAudioStreamPlayoutVolume

获取外部音频流播放音量

音效文件

API

功能描述

preloadAudioEffect

预加载音效文件

unloadAudioEffect

删除预加载的音效文件

playAudioEffect

开始播放音效

stopAudioEffect

停止播放音效

stopAllAudioEffects

停止播放所有音效

pauseAudioEffect

暂停音效

pauseAllAudioEffects

暂停所有音效

resumeAudioEffect

恢复指定音效文件

resumeAllAudioEffects

恢复所有音效文件

setAudioEffectPublishVolume

设置音效推流混音音量

getAudioEffectPublishVolume

获取音效推流混音音量

setAllAudioEffectsPublishVolume

设置所有音效推流混音音量

setAudioEffectPlayoutVolume

设置音效本地播放音量

getAudioEffectPlayoutVolume

获取音效本地播放音量

setAllAudioEffectsPlayoutVolume

设置所有音效本地播音量

视频设备管理相关接口

API

功能描述

createRenderSurfaceView

创建SurfaceView渲染视图。

setLocalViewConfig

为本地预览设置渲染窗口以及绘制参数。

setCameraCapturerConfiguration

设置摄像头采集偏好。

enableLocalVideo

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

muteLocalCamera

设置是否停止发布本地视频流。

setRemoteViewConfig

为远端的视频设置渲染窗口以及绘制参数。

isCameraOn

检查摄像头是否打开。

setVideoEncoderConfiguration

设置视频编码属性。

switchCamera

切换前后摄像头(默认为前置摄像头)。

getCurrentCameraDirection

获取当前摄像头方向。

startPreview

开始本地预览。

stopPreview

停止本地预览。

自定义视频输入

API

功能描述

setExternalVideoSource

启用外部视频输入源。

pushExternalVideoFrame

输入视频数据。

直播旁路接口

API

功能描述

startPublishLiveStream

开启旁路直播。

updatePublishLiveStream

更新旁路直播相关参数。

stopPublishLiveStream

停止旁路直播。

getPublishLiveStreamState

获取旁路直播状态。

回调事件

API

功能描述

onConnectionStatusChange

网络链接状态回调;客户需要关心此回调。

OnLocalDeviceException

本地设备异常回调;客户需要关心此回调。

onAuthInfoWillExpire

用户鉴权信息即将过期通知,收到后30秒鉴权过期;客户需要关心此回调。

onAuthInfoExpired

用户调用需要鉴权的接口,服务端返回信息过期。

onJoinChannelResult[1/2]

加入频道结果回调。

onJoinChannelResult[2/2]

加入频道结果回调。

onLeaveChannelResult

离开频道结果回调。

onRemoteUserOffLineNotify

远端用户离线通知。

onRemoteUserOnLineNotify

远端用户上线通知。

onRemoteTrackAvailableNotify

远端推流信息通知。

onBye

被服务器踢出/会议结束频道的消息。

onAudioPublishStateChanged

音频推流状态通知。

onAudioSubscribeStateChanged

音频拉流状态通知。

onUserAudioMuted

远端用户静音通知。

onUserAudioInterruptedBegin

音频设备打断开始通知。

onUserAudioInterruptedEnded

音频设备打断结束通知。

onVideoPublishStateChanged

视频推流变更回调。

onVideoSubscribeStateChanged

相机流订阅情况变更回调。

onUserVideoMuted

对端用户发送视频黑帧数据发送通知。

onUserVideoEnabled

对端用户关闭相机流采集发送通知。

onUserWillResignActive

远端用户应用退到后台。

onUserWillBecomeActive

远端用户应用返回前台。

onAliRtcStats

实时数据回调(2s触发一次)

onAudioEffectFinished

本地音效播放结束回调

onAudioVolume

订阅的音频音量,语音状态和uid。

onActiveSpeaker

语音激励,监测到活跃用户回调

onPublishLiveStreamStateChanged

旁路推流状态改变回调

onPublishTaskStateChanged

旁路任务状态改变回调

其他接口

API

功能描述

setParameter

设置自定义参数

getParameter

获取自定义参数

registerAudioVolumeObserver

注册音量数据输出对象。

unRegisterAudioVolumeObserver

取消音量数据输出对象注册。

registerVideoSampleObserver

注册视频数据输出对象。

unRegisterVideoSampleObserver

取消注册视频数据输出对象。

registerLocalVideoTextureObserver

注册本地相机流视频OpenGL纹理数据观测器。

unRegisterLocalVideoTextureObserver

取消注册本地相机流视频OpenGL纹理数据观测器。

setLogDirPath

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

setLogLevel

设置日志等级。

接口详情

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,取值:

  • 0(默认值):不兼容H5。

  • 1:兼容H5。

重要

当前版本不支持在创建AliRtcEngine实例之后更改H5兼容模式,必须在创建实例之前就调用此接口。

getH5CompatibleMode

检查当前是否兼容H5。

public static int getH5CompatibleMode();

返回值类型

描述

int

  • 1表示兼容H5

  • 0表示不兼容H5

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

AliRTCSdkChannelProfile

频道类型。默认值为AliEngineCommunication。

返回说明

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

重要

该接口只可以在加入频道之前调用,会议中不可以重新设置,离开频道后可以重新设置。

setAudioProfile

设置音频Profile。

public abstract int setAudioProfile(AliRtcAudioProfile profile, AliRtcAudioScenario scenario);

参数说明

参数

类型

描述

profile

int

音频采集或编码模式参数,默认值为AliEngineBasicQualityMode。更多信息,请参见AliRtcAudioProfile

scenario

int

音频场景模式参数,默认值为AliEngineSceneDefaultMode。更多信息,请参见

AliRtcAudioScenario

isAudioOnly

检查当前是否纯音频模式。

public abstract boolean isAudioOnly();

返回说明

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

setAudioOnlyMode

是否开启纯音频模式。

public abstract int setAudioOnlyMode(boolean audioOnly);

参数说明

参数

类型

描述

audioOnly

boolean

设置音频模式还是音视频模式,取值:

  • true:只有音频推流和拉流。

  • false(默认值):音视频都支持。

返回说明

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

AliRtcAuthInfo

鉴权信息。

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

AliRTCSdkClientRole

用户角色类型,默认值为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

AliRtcAuthInfo

鉴权信息。

返回说明

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

publishLocalAudioStream

设置是否发布音频流。

public abstract int publishLocalAudioStream(boolean enable);

参数说明

参数

类型

描述

enable

boolean

是否发布音频流,取值:

  • true(默认值):发布音频流。

  • false:不发布音频流。

返回说明

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

isLocalAudioStreamPublished

查询当前是否发布音频流。

public abstract boolean isLocalAudioStreamPublished();

返回说明

true表示发布音频流,false表示不发布音频流。

setDefaultSubscribeAllRemoteAudioStreams

设置是否默认接收音频流。

public abstract int setDefaultSubscribeAllRemoteAudioStreams(boolean sub);

参数说明

参数

类型

描述

sub

boolean

是否默认接收音频流,取值:

  • true(默认值):默认接收音频流。

  • false:默认不接收音频流。

返回说明

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

subscribeAllRemoteAudioStreams

设置是否接收所有远端音频流。

public abstract int subscribeAllRemoteAudioStreams(boolean sub);

参数说明

参数

类型

描述

sub

boolean

是否接收所有远端音频流,取值:

  • true(默认值):接收所有远端音频流。

  • false:不接收所有远端音频流。

返回说明

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

subscribeRemoteAudioStream

停止或恢复特定远端用户的音频流拉取。

public abstract int subscribeRemoteAudioStream(String uid, boolean sub);

参数说明

参数

类型

描述

uid

String

远端用户ID。

sub

boolean

停止或恢复特定远端用户的音频流拉取,取值:

  • true(默认值):恢复。

  • false:停止。

返回说明

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

publishLocalVideoStream

设置是否发布相机流。

public abstract int publishLocalVideoStream(boolean enable);

参数说明

参数

类型

描述

enable

boolean

是否发布相机流,取值:

  • true(默认值):发布相机流。

  • false:不发布相机流。

isLocalVideoStreamPublished

查询当前是否发布相机流。

public abstract boolean isLocalVideoStreamPublished();

返回说明

true表示发布相机流,false表示不发布相机流。

setDefaultSubscribeAllRemoteVideoStreams

设置是否默认接收视频流。

public abstract int setDefaultSubscribeAllRemoteVideoStreams(boolean sub);

参数说明

参数

类型

描述

sub

boolean

是否默认接收视频流,取值:

  • true(默认值):默认接收。

  • false:默认不接收。

返回说明

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

subscribeAllRemoteVideoStreams

停止或恢复接收所有远端视频流。

public abstract int subscribeAllRemoteVideoStreams(boolean sub);

参数说明

参数

类型

描述

sub

boolean

停止或恢复接收所有远端视频流,取值:

  • true(默认值):恢复。

  • false:停止。

返回说明

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

subscribeRemoteMediaStream

停止或恢复特定远端用户的媒体流。

public abstract int subscribeRemoteMediaStream(String uid, AliRtcVideoTrack videoTrack, boolean subVideo, boolean subAudio);

参数说明

参数

类型

描述

uid

String

远端用户ID。

videoTrack

AliRtcVideoTrack

视频流类型。

subVideo

boolean

停止或恢复特定远端用户的视频流拉取,取值:

  • true(默认值):恢复。

  • false:停止。

subAudio

boolean

停止或恢复特定远端用户的音频流拉取,取值:

  • true(默认值):恢复。

  • false:停止。

返回说明

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

subscribeRemoteDestChannelStream

跨频道订阅指定用户的流。

public abstract int subscribeRemoteDestChannelStream(String channelId, String uid, AliRtcVideoTrack track, boolean sub_audio, boolean sub);

参数说明

参数

类型

描述

channelId

String

远端频道ID。

uid

String

远端用户ID。

track

AliRtcVideoTrack

需要订阅的视频流。

sub_audio

boolean

停止或恢复特定远端用户的音频流拉取,取值:

  • true(默认值):恢复。

  • false:停止。

sub

boolean

停止或恢复跨频道订阅指定用户的流。

返回说明

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

muteLocalMic

停止或恢复本地音频数据发送。

public abstract int muteLocalMic(boolean mute, AliRtcMuteLocalAudioMode mode);

参数说明

参数

类型

描述

mute

boolean

停止或恢复本地音频数据发送,取值:

  • true:本地音频发送静音帧。

  • false(默认值):恢复。

mode

AliRtcMuteLocalAudioMode

静音模式,默认麦克风静音模式。

返回说明

0表示方法调用成功,其他表示方法调用失败。mute只是发送音频数据为静音帧,采集和编码模块仍然在工作。

muteRemoteAudioPlaying

停止或恢复远端的音频播放。

public abstract int muteRemoteAudioPlaying(String uid, boolean mute);

参数说明

参数

类型

描述

uid

String

用户ID。

mute

boolean

停止或恢复远端的音频播放,取值:

  • true:停止播放。

  • false(默认值):恢复播放。

返回说明

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

muteAllRemoteAudioPlaying

停止或恢复远端所有的音频播放。

public abstract int muteAllRemoteAudioPlaying(boolean mute);

参数说明

参数

类型

描述

mute

boolean

停止或恢复远端所有的音频播放,取值:

  • true:停止播放。

  • false(默认值):恢复播放。

返回说明

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

startAudioCapture[1/2]

开启音频采集。

public abstract int startAudioCapture();

返回说明

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

startAudioCapture[2/2]

开启音频采集。

public abstract int startAudioCapture(boolean keepAlive);

参数说明

参数

类型

描述

keepAlive

boolean

离会后采集设备的状态,取值:

  • true:离会后采集设备保持开启状态。

  • false(默认值):离会后采集设备关闭。

返回说明

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

stopAudioCapture

关闭音频采集。

public abstract int stopAudioCapture();

返回说明

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

enableSpeakerphone

设置音频输出为听筒还是扬声器。

public abstract int enableSpeakerphone(boolean enable);

参数说明

参数

类型

描述

enable

boolean

音频输出为听筒还是扬声器,取值:

  • true(默认值):扬声器模式。

  • false:听筒模式。

返回说明

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

isSpeakerOn

获取当前音频输出为听筒还是扬声器。

public abstract boolean isSpeakerOn();

返回说明

true为扬声器,false为听筒。

enableAudioVolumeIndication

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

public abstract int enableAudioVolumeIndication(int interval, int smooth, int reportVad);

参数说明

参数

类型

描述

interval

int

时间间隔。

  • 单位:ms。

  • 默认值:300ms。

  • 取值范围:最小值≥10ms,建议设置为300ms~500ms;取值≤0表示不启用音量提示和说话人提示功能。

smooth

int

平滑系数,数值越大平滑程度越高,反之越低,实时性越好。

  • 默认值:3。

  • 取值范围:0~9,建议设置为3。

reportVad

int

本地语音检测开关。

  • 1:开启,通过AliRtcAudioVolumeObserver接口回调。

  • 0(默认值):关闭。

返回说明

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

enableEarBack

启用耳返。

public abstract int enableEarBack(boolean enable);

参数说明

参数

类型

描述

enable

boolean

是否启用耳返,取值:

  • true:开启耳返。

  • false(默认值):关闭耳返。

返回说明

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

setAudioEffectVoiceChangerMode

设置变声音效模式。

public abstract int setAudioEffectVoiceChangerMode(AliRtcAudioEffectVoiceChangerMode mode);

参数说明

参数

类型

描述

mode

AliRtcAudioEffectVoiceChangerMode

变声音效模式,默认值为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

AliRtcAudioEffectReverbMode

音效混响模式,默认值为AliRtcAudioEffectReverb_Off(关闭)。

返回说明

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

setAudioEffectReverbParamType

设置混响音效类型和具体参数。

public abstract int setAudioEffectReverbParamType(AliRtcAudioEffectReverbParamType type, float value);

参数说明

参数

类型

描述

type

AliRtcAudioEffectReverbParamType

音效混响参数。

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

是否将音效音频流推到远端,取值:

  • true:将音效音频流推到远端。

  • false(默认值):不将音效音频流推到远端。

返回说明

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

AliRtcVideoCanvas

渲染参数,包含渲染窗口以及渲染方式。

track

AliRtcVideoTrack

视频流类型。

返回说明

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

setCameraCapturerConfiguration

设置摄像头采集偏好。

public abstract int setCameraCapturerConfiguration(AliEngineCameraCapturerConfiguration cameraCapturerConfiguration);

参数说明

参数

类型

描述

cameraCapturerConfiguration

AliEngineCameraCapturerConfiguration

摄像头采集偏好。默认值:

  • preference:采集偏好。

  • cameraDirection:相机方向(只支持Android和iOS)。

返回说明

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

enableLocalVideo

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

public abstract int enableLocalVideo(boolean enable);

参数说明

参数

类型

描述

enable

boolean

禁用或重新启用本地视频采集,取值:

  • true(默认值):重新启用。

  • false:禁用。

返回说明

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

muteLocalCamera

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

public abstract int muteLocalCamera(boolean mute, AliRtcVideoTrack track);

参数说明

参数

类型

描述

mute

boolean

停止或恢复本地视频数据发送,取值:

  • true:停止。

  • false(默认值):恢复。

track

AliRtcVideoTrack

需要改变发布状态的视频流类型。

返回说明

0表示方法调用成功。

重要

此接口只是控制指定视频流上是否发送黑帧,采集和数据发送不会停止。如果需要关闭采集请使用enableLocalVideo接口,如果需要中止视频数据发送请使用publishLocalVideoStream接口。

setRemoteViewConfig

为远端的视频设置渲染窗口以及绘制参数。

public abstract int setRemoteViewConfig(AliVideoCanvas canvas, String uid,AliRtcVideoTrack track);

支持加入频道之前和之后切换窗口。如果AliRtcVideoCanvas中的view参数为空,则停止渲染。如果在播放过程中需要重新设置AliRtcVideoCanvas的参数renderMode,请保持其他参数不变,仅修改renderMode。如果在播放过程中需要重新设置AliRtcVideoCanvas的参数mirrorMode,请保持其他参数不变,仅修改mirrorMode。

参数说明

参数

类型

描述

canvas

AliRtcVideoCanvas

渲染参数,包含渲染窗口以及渲染方式。

uid

String

用户ID。

track

AliRtcVideoTrack

需要设置的视频流类型。

返回说明

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

isCameraOn

检查摄像头是否打开。

public abstract boolean isCameraOn();

返回说明

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

setVideoEncoderConfiguration

设置视频编码属性。

public abstract void setVideoEncoderConfiguration(AliRtcVideoEncoderConfiguration config);

参数说明

参数

类型

描述

config

AliRtcVideoEncoderConfiguration

预定义的编码属性。默认值:

  • dimensions:[640,480]

  • frameRate:15

  • bitrate:0

  • mirrorMode:0

  • orientationMode:0

  • rotation:0

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

启用外部视频输入源,取值:

  • true:启用。

  • false(默认值):关闭。

useTexture

boolean

是否使用texture模式,取值:

  • true:使用。

  • false(默认值):不使用。

type

AliRtcVideoTrack

视频流类型。

renderMode

AliRtcRenderMode

渲染模式。

pushExternalVideoFrame

输入视频数据。

public abstract int pushExternalVideoFrame(AliRtcRawDataFrame aliRawDataFrame,AliRtcVideoTrack streameType);

参数说明

参数

类型

描述

aliRawDataFrame

AliRtcRawDataFrame

帧数据。

streameType

AliRtcVideoTrack

视频流类型。

返回说明

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

startPublishLiveStream

开启旁路直播。

public abstract int startPublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);

参数说明

参数

类型

描述

streamUrl

String

推流地址。

transcodingParam

AliRtcLiveTranscodingParam

推流参数。

返回说明

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

updatePublishLiveStream

更新旁路直播相关参数。

public abstract int updatePublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);

参数说明

参数

类型

描述

streamUrl

String

推流地址。

transcodingParam

AliRtcLiveTranscodingParam

推流参数。

返回说明

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

AliRtcConnectionStatus

当前网络链接状态。

reason

AliRtcConnectionStatusChangeReason

网络链接状态改变原因。

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

AliRtcStats

本次频道内会话的数据统计汇总。

onRemoteUserOffLineNotify

远端用户下线回调。

public void onRemoteUserOffLineNotify(String uid, AliRtcUserOfflineReason reason);

参数

类型

描述

uid

String

远端用户ID。

reason

AliRtcUserOfflineReason

用户离线的原因。

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

AliRtcAudioTrack

远端用户发生变化后的音频流。

videoTrack

AliRtcVideoTrack

远端用户发生变化后的视频流。

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

AliRtcPublishState

之前的推流状态。

newState

AliRtcPublishState

当前的推流状态。

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

AliRtcSubscribeState

之前的订阅状态。

newState

AliRtcSubscribeState

当前的订阅状态。

elapseSinceLastState

int

状态变更时间间隔。单位:毫秒。

channel

String

当前频道ID。

onUserAudioMuted

对端用户停止音频数据发送通知。

public void onUserAudioMuted(String uid ,boolean isMute);

参数

类型

描述

uid

String

执行muteAudio的用户。

isMute

boolean

是否静音,取值:

  • true:静音。

  • false:未静音。

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

AliRtcPublishState

之前的推流状态。

newState

AliRtcPublishState

当前的推流状态。

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

AliRtcSubscribeState

之前的订阅状态。

newState

AliRtcSubscribeState

当前的订阅状态。

elapseSinceLastState

int

状态变更时间间隔。

channel

String

当前频道ID。

onUserVideoMuted

对端用户发送视频黑帧数据发送通知。

public void onUserVideoMuted(String uid, boolean isMute);

参数

类型

描述

uid

String

执行enableLocalVideo的用户。

isMute

boolean

是否发送黑帧,取值:

  • true:推流黑帧。

  • false:正常推流。

onUserVideoEnabled

对端用户关闭相机流采集发送通知。

public void onUserVideoEnabled(String uid, boolean isMute);

参数

类型

描述

uid

String

远端用户ID。

isMute

boolean

是否开启相机流采集,取值:

  • true:打开相机流采集。

  • false:关闭相机流采集。

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

AliRtcStats

会话统计信息。

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

AliRtcLiveTranscodingState

旁路直播状态。

errorCode

AliEngineLiveTranscodingErrorCode

错误码。

onPublishTaskStateChanged

旁路任务状态改变回调。

public void onPublishTaskStateChanged(String streamUrl, AliRtcTrascodingPublishTaskStatus state);

参数

类型

描述

streamUrl

String

推流地址。

state

AliRtcTrascodingPublishTaskStatus

旁路直播推流任务状态。

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

AliRtcLogLevel

Log级别。