本页提供声网灵隼客户端 Android API 参考。
类 | 描述 |
---|---|
IAgoraCallkitSdk | 提供总的服务接口 |
IAccountMgr | 账号注册、登录与登出 |
ICallkitMgr | 来电呼叫管理,包括拨号、接听、挂断等 |
ErrCode | Iot SDK 在使用过程中的报错信息 |
SDK 引擎接口。
int initialize(InitParam initParam);
初始化 SDK。
参数
参数 | 描述 |
---|---|
initParam |
SDK 初始化参数,详见 InitParam。 |
void release();
释放 SDK 所有资源。
IAccountMgr getAccountMgr();
获取账号管理接口。
返回
ICallkitMgr getCallkitMgr();
获取呼叫系统接口。
返回
账号管理接口。
func login(account: String, password: String,result:@escaping (Int,String)->Void)
登录一个用户账号。
参数
参数 | 描述 |
---|---|
account |
账号 ID,需要为邮箱地址或手机号码。 |
password |
账号密码。 |
返回
func logout(result:@escaping (Int,String)->Void)
登出当前账号。
返回
func getUserId()->String
获取当前用户 ID。
返回
user ID。
错误码,详见 ErrCode。
String getAccount();
获取当前已经登录的账号名称
返回
当前已经登录的账号名称
呼叫系统管理接口。
int registerListener(ICallkitMgr.ICallback callback);
注册回调接口。
参数
参数 | 描述 |
---|---|
callback |
ICallback 对象。 |
int unregisterListener(ICallkitMgr.ICallback callback);
注销回调接口。
参数
参数 | 描述 |
---|---|
callback |
ICallback 对象。 |
int callDial(final String peerAccountId, final String attachMsg);
呼叫设备。
参数
参数 | 描述 |
---|---|
peerAccountId |
要呼叫的账号。 |
attachMsg |
呼叫时附带的信息。 |
返回
int callHangup();
挂断当前通话。
返回
int callAnswer();
接听当前来电。
返回
int setLocalVideoView(final SurfaceView localView);
设置本地视频显示控件。如果不设置则不显示本地视频。
参数
参数 | 描述 |
---|---|
localView |
本地视频显示控件。 |
返回
int setPeerVideoView(final SurfaceView peerView);
设置对端视频显示控件。如果不设置则不显示对端视频。
参数
参数 | 描述 |
---|---|
localView |
本地视频显示控件。 |
返回
int muteLocalVideo(boolean mute);
停止/恢复发布本地视频流。
参数
参数 | 描述 |
---|---|
mute |
是否停止发布本地视频流:
|
返回
int muteLocalAudio(boolean mute);
停止/恢复发布本地音频流。
参数
参数 | 描述 |
---|---|
mute |
是否停止发布本地音频流:
|
返回
int mutePeerVideo(boolean mute);
停止/恢复订阅远端视频流。
参数
参数 | 描述 |
---|---|
mute |
是否停止发布远端视频流:
|
返回
int mutePeerAudio(boolean mute);
停止/恢复订阅远端音频流。
参数
参数 | 描述 |
---|---|
mute |
是否停止发布远端音频流:
|
返回
int setVolume(int volumeLevel);
设置音频播放的音量。
参数
参数 | 描述 |
---|---|
volumeLevel |
音量级别,取值范围为 [0,100]。 |
返回
int setAudioEffect(final AudioEffectId effectId);
设置音效效果(通常是变声等音效)。
参数
参数 | 描述 |
---|---|
effectId |
音效文件的 ID。详见 AudioEffectId。 |
返回
int talkingRecordStart();
开始录制当前通话(包括音视频流),仅在通话状态下才能调用。
返回
int talkingRecordStop();
停止录制当前通话,仅在通话状态下才能调用。
返回
Bitmap capturePeerVideoFrame();
截屏对端视频帧图像,仅在通话状态下才能调用。
返回
截取到的视频帧图像。
错误码,详见 ErrCode。
public static interface ICallback {
default void onDialDone(int errCode, final String peerAccountId) {}
default void onPeerIncoming(final String peerAccountId, final String attachMsg) {}
default void onPeerAnswer(final String peerAccountId) {}
default void onPeerHangup(final String peerAccountId) {}
default void onPeerTimeout(final String peerAccountId) {}
default void onPeerFirstVideo(final String peerAccountId, int videoWidth, int videoHeight) {}
default void onCallkitError(int errCode) {}
}
onDialDone
呼叫请求成功事件,服务器正在转接。
参数 | 描述 |
---|---|
errCode |
错误码。详见 ErrCode。 |
peerAccountId |
对端账号 ID。 |
onPeerIncoming
对端呼叫事件。
参数 | 描述 |
---|---|
peerAccountId |
对端账号 ID。 |
attachMsg |
附加信息。 |
onPeerAnswer
对端接听事件。
参数 | 描述 |
---|---|
peerAccountId |
对端账号 ID。 |
onPeerHangup
对端挂断事件。
参数 | 描述 |
---|---|
peerAccountId |
对端账号 ID。 |
onPeerTimeout
对端无人接听超时事件。
参数 | 描述 |
---|---|
peerAccountId |
对端账号 ID。 |
onPeerFirstVideo
对端视频首帧出图事件。
参数 | 描述 |
---|---|
peerAccountId |
对端账号 ID。 |
videoWidth |
首帧视频宽度。 |
videoHeight |
首帧视频高度。 |
onCallkitError
错误事件,在呼叫系统中遇到任意错误时发生,触发该事件后,整个呼叫过程全部清除。
参数 | 描述 |
---|---|
errCode |
错误码。详见 ErrCode。 |
错误码 | 错误代码 | 描述 |
---|---|---|
0 |
XERR_NONG |
无错误。 |
0 |
XOK |
无错误。 |
-3 |
XERR_TOKEN_INVALID |
Token 过期。 |
错误码 | 错误代码 | 描述 |
---|---|---|
-10000 |
XERR_BASE |
通用错误。 |
-10001 |
XERR_UNKNOWN |
未知错误。 |
-10002 |
XERR_INVALID_PARAM |
参数错误。 |
-10003 |
XERR_UNSUPPORTED |
当前操作不支持。 |
-10004 |
XERR_BAD_STATE |
当前状态不正确,无法操作。 |
-10005 |
XERR_NOT_FOUND |
没有找到相关数据。 |
-10006 |
XERR_NO_MEMORY |
内存不足。 |
-10007 |
XERR_BUFFER_OVERFLOW |
缓冲区中数据不足。 |
-10008 |
XERR_BUFFER_UNDERFLOW |
缓冲区中数据过多。 |
-10009 |
XERR_TIMEOUT |
操作超时。 |
-10012 |
XERR_NETWORK |
网络错误。 |
-10015 |
XERR_TOKEN_EXPIRED |
Token 过期。 |
错误码 | 错误代码 | 描述 |
---|---|---|
-40000 |
XERR_CALLKIT_BASE |
呼叫系统相关错误。 |
-40001 |
XERR_CALLKIT_TIMEOUT |
呼叫超时无响应。 |
-40002 |
XERR_CALLKIT_DIAL |
呼叫拨号失败。 |
-40003 |
XERR_CALLKIT_HANGUP |
呼叫挂断失败。 |
-40004 |
XERR_CALLKIT_ANSWER |
呼叫接听失败。 |
-40005 |
XERR_CALLKIT_REJECT |
呼叫拒绝失败。 |
-40006 |
XERR_CALLKIT_PEER_BUSY |
对端忙。 |
-40007 |
XERR_CALLKIT_PEERTIMEOUT |
对端超时无响应。 |
-40008 |
XERR_CALLKIT_LOCAL_BUSY |
本地端忙。 |
-40009 |
XERR_CALLKIT_ERR_OPT |
不支持的错误操作。 |
-40010 |
XERR_CALLKIT_PEER_UNREG |
对端未注册。 |
-40011 |
XERR_CALLKIT_NO_APPID |
未上报 App ID。 |
-40012 |
XERR_CALLKIT_SAME_ID |
主叫和被叫同一个 ID。 |
Iot SDK 初始化参数。
public static class InitParam {
public Context mContext;
public String mRtcAppId;
public String mProjectId;
public String mLogFilePath;
public boolean mPublishAudio = false;
public boolean mPublishVideo = false;
public boolean mSubscribeAudio = true;
public boolean mSubscribeVideo = true;
public String mMasterServerUrl;
public String mSlaveServerUrl;
public String mPusherId;
}
参数 | 描述 |
---|---|
mContext |
Android 系统的 context。 |
mRtcAppId |
声网的 App ID。 |
mProjectId |
项目 ID,作为查询产品列表的过滤条件。 |
mLogFilePath |
日志文件路径。如果不设置该参数,则日志不会输出到本地文件。 |
mPublishAudio |
通话时是否自动发布本地音频:
|
mPublishVideo |
通话时是否自动发布本地视频:
|
mSubscribeAudio |
通话时是否自动订阅对端音频:
|
mSubscribeVideo |
通话时是否自动订阅对端视频:
|
mMasterServerUrl |
主服务器后台地址。 |
mSlaveServerUrl |
副服务器后台地址。 |
mPusherId |
离线推送的 pusher ID。 |
CALLKIT_STATE
相关常量通话状态。
public static final int CALLKIT_STATE_IDLE = 0x0001;
public static final int CALLKIT_STATE_DIALING = 0x0002;
public static final int CALLKIT_STATE_INCOMING = 0x0003;
public static final int CALLKIT_STATE_TALKING = 0x0004;
public static final int CALLKIT_STATE_DIAL_REQING = 0x0005;
public static final int CALLKIT_STATE_DIAL_RSPING = 0x0006;
public static final int CALLKIT_STATE_ANSWER_REQING = 0x0007;
public static final int CALLKIT_STATE_ANSWER_RSPING = 0x0008;
public static final int CALLKIT_STATE_HANGUP_REQING = 0x0009;
参数
参数 | 描述 |
---|---|
CALLKIT_STATE_IDLE |
当前空闲状态,无通话。 |
CALLKIT_STATE_DIALING |
正在呼叫设备中。 |
CALLKIT_STATE_INCOMING |
正在来电中。 |
CALLKIT_STATE_TALKING |
正在通话中。 |
CALLKIT_STATE_DIAL_REQING |
正在发送主叫请求中。 |
CALLKIT_STATE_DIAL_RSPING |
正在等待主叫响应中。 |
CALLKIT_STATE_ANSWER_REQING |
正在发送接听请求中。 |
CALLKIT_STATE_ANSWER_RSPING |
正在等待接听响应中。 |
CALLKIT_STATE_HANGUP_REQING |
正在发送挂断请求中。 |
音频特效。
public enum AudioEffectId {
NORMAL, OLDMAN, BABYBOY, BABYGIRL, ZHUBAJIE, ETHEREAL, HULK
}
参数
参数 | 描述 |
---|---|
NORMAL |
(默认)原声,即关闭本地语音的变声、美音或语聊美声效果。 |
OLDMAN |
变声:老男孩。 |
BABYBOY |
变声:小男孩。 |
BABYGIRL |
变声:小女孩。 |
ZHUBAJIE |
变声:猪八戒 |
ETHEREAL |
变声:空灵。 |
HULK |
变声:绿巨人。 |