客户端纯呼叫 API 参考

  • Android

更新时间不可用

本页提供声网灵隼客户端 Android API 参考。

类描述
IAgoraCallkitSdk提供总的服务接口
IAccountMgr账号注册、登录与登出
ICallkitMgr来电呼叫管理,包括拨号、接听、挂断等
ErrCodeIot SDK 在使用过程中的报错信息
表格内容超出当前宽度,可横向滚动查看更多列。

IAgoraCallkitSdk

SDK 引擎接口。

initialize

Java
int initialize(InitParam initParam);

初始化 SDK。

参数

参数描述
initParamSDK 初始化参数,详见 InitParam。
表格内容超出当前宽度,可横向滚动查看更多列。

release

Java
void release();

释放 SDK 所有资源。

getAccountMgr

Java
IAccountMgr getAccountMgr();

获取账号管理接口。

返回

getCallkitMgr

Java
ICallkitMgr getCallkitMgr();

获取呼叫系统接口。

返回

IAccountMgr

账号管理接口。

login

Swift
func login(account: String, password: String,result:@escaping (Int,String)->Void)

登录一个用户账号。

参数

参数描述
account账号 ID,需要为邮箱地址或手机号码。
password账号密码。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

logout

Swift
func logout(result:@escaping (Int,String)->Void)

登出当前账号。

返回

getUserId

Swift
func getUserId()->String

获取当前用户 ID。

返回

  • user ID。

  • 错误码,详见 ErrCode。

getAccount

Java
String getAccount();

获取当前已经登录的账号名称

返回

当前已经登录的账号名称

ICallkitMgr

呼叫系统管理接口。

registerListener

Java
int registerListener(ICallkitMgr.ICallback callback);

注册回调接口。

参数

参数描述
callbackICallback 对象。
表格内容超出当前宽度,可横向滚动查看更多列。

unregisterListener

Java
int unregisterListener(ICallkitMgr.ICallback callback);

注销回调接口。

参数

参数描述
callbackICallback 对象。
表格内容超出当前宽度,可横向滚动查看更多列。

callDial

Java
int callDial(final String peerAccountId, final String attachMsg);

呼叫设备。

参数

参数描述
peerAccountId要呼叫的账号。
attachMsg呼叫时附带的信息。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

callHangup

Java
int callHangup();

挂断当前通话。

返回

callAnswer

Java
int callAnswer();

接听当前来电。

返回

setLocalVideoView

Java
int setLocalVideoView(final SurfaceView localView);

设置本地视频显示控件。如果不设置则不显示本地视频。

参数

参数描述
localView本地视频显示控件。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

setPeerVideoView

Java
int setPeerVideoView(final SurfaceView peerView);

设置对端视频显示控件。如果不设置则不显示对端视频。

参数

参数描述
localView本地视频显示控件。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

muteLocalVideo

Java
int muteLocalVideo(boolean mute);

停止/恢复发布本地视频流。

参数

参数描述
mute

是否停止发布本地视频流:

  • true: 是
  • false: 否
表格内容超出当前宽度,可横向滚动查看更多列。

返回

muteLocalAudio

Java
int muteLocalAudio(boolean mute);

停止/恢复发布本地音频流。

参数

参数描述
mute

是否停止发布本地音频流:

  • true: 是
  • false: 否
表格内容超出当前宽度,可横向滚动查看更多列。

返回

mutePeerVideo

Java
int mutePeerVideo(boolean mute);

停止/恢复订阅远端视频流。

参数

参数描述
mute

是否停止发布远端视频流:

  • true: 是
  • false: 否
表格内容超出当前宽度,可横向滚动查看更多列。

返回

mutePeerAudio

Java
int mutePeerAudio(boolean mute);

停止/恢复订阅远端音频流。

参数

参数描述
mute

是否停止发布远端音频流:

  • true: 是
  • false: 否
表格内容超出当前宽度,可横向滚动查看更多列。

返回

setVolume

Java
int setVolume(int volumeLevel);

设置音频播放的音量。

参数

参数描述
volumeLevel音量级别,取值范围为 [0,100]。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

setAudioEffect

Java
int setAudioEffect(final AudioEffectId effectId);

设置音效效果(通常是变声等音效)。

参数

参数描述
effectId音效文件的 ID。详见 AudioEffectId。
表格内容超出当前宽度,可横向滚动查看更多列。

返回

talkingRecordStart

Java
int talkingRecordStart();

开始录制当前通话(包括音视频流),仅在通话状态下才能调用。

返回

talkingRecordStop

Java
int talkingRecordStop();

停止录制当前通话,仅在通话状态下才能调用。

返回

capturePeerVideoFrame

Java
Bitmap capturePeerVideoFrame();

截屏对端视频帧图像,仅在通话状态下才能调用。

返回

  • 截取到的视频帧图像。

  • 错误码,详见 ErrCode。

ICallback

Java
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。
表格内容超出当前宽度,可横向滚动查看更多列。

ErrCode

全局错误

错误码错误代码描述
0XERR_NONG无错误。
0XOK无错误。
-3XERR_TOKEN_INVALIDToken 过期。
表格内容超出当前宽度,可横向滚动查看更多列。

通用错误

错误码错误代码描述
-10000XERR_BASE通用错误。
-10001XERR_UNKNOWN未知错误。
-10002XERR_INVALID_PARAM参数错误。
-10003XERR_UNSUPPORTED当前操作不支持。
-10004XERR_BAD_STATE当前状态不正确,无法操作。
-10005XERR_NOT_FOUND没有找到相关数据。
-10006XERR_NO_MEMORY内存不足。
-10007XERR_BUFFER_OVERFLOW缓冲区中数据不足。
-10008XERR_BUFFER_UNDERFLOW缓冲区中数据过多。
-10009XERR_TIMEOUT操作超时。
-10012XERR_NETWORK网络错误。
-10015XERR_TOKEN_EXPIREDToken 过期。
表格内容超出当前宽度,可横向滚动查看更多列。

呼叫系统相关错误

错误码错误代码描述
-40000XERR_CALLKIT_BASE呼叫系统相关错误。
-40001XERR_CALLKIT_TIMEOUT呼叫超时无响应。
-40002XERR_CALLKIT_DIAL呼叫拨号失败。
-40003XERR_CALLKIT_HANGUP呼叫挂断失败。
-40004XERR_CALLKIT_ANSWER呼叫接听失败。
-40005XERR_CALLKIT_REJECT呼叫拒绝失败。
-40006XERR_CALLKIT_PEER_BUSY对端忙。
-40007XERR_CALLKIT_PEERTIMEOUT对端超时无响应。
-40008XERR_CALLKIT_LOCAL_BUSY本地端忙。
-40009XERR_CALLKIT_ERR_OPT不支持的错误操作。
-40010XERR_CALLKIT_PEER_UNREG对端未注册。
-40011XERR_CALLKIT_NO_APPID未上报 App ID。
-40012XERR_CALLKIT_SAME_ID主叫和被叫同一个 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

数据类型

InitParam 类

Iot SDK 初始化参数。

Java
    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;
    }
参数描述
mContextAndroid 系统的 context。
mRtcAppId声网的 App ID。
mProjectId项目 ID,作为查询产品列表的过滤条件。
mLogFilePath日志文件路径。如果不设置该参数,则日志不会输出到本地文件。
mPublishAudio

通话时是否自动发布本地音频:

  • true: 是
  • false: 否
mPublishVideo

通话时是否自动发布本地视频:

  • true: 是
  • false: 否
mSubscribeAudio

通话时是否自动订阅对端音频:

  • true: 是
  • false: 否
mSubscribeVideo

通话时是否自动订阅对端视频:

  • true: 是
  • false: 否
mMasterServerUrl主服务器后台地址。
mSlaveServerUrl副服务器后台地址。
mPusherId离线推送的 pusher ID。
表格内容超出当前宽度,可横向滚动查看更多列。

CALLKIT_STATE 相关常量

通话状态。

Java
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正在发送挂断请求中。
表格内容超出当前宽度,可横向滚动查看更多列。

AudioEffectId

音频特效。

Java
public enum AudioEffectId {
        NORMAL, OLDMAN, BABYBOY, BABYGIRL, ZHUBAJIE, ETHEREAL, HULK
    }

参数

参数描述
NORMAL(默认)原声,即关闭本地语音的变声、美音或语聊美声效果。
OLDMAN变声:老男孩。
BABYBOY变声:小男孩。
BABYGIRL变声:小女孩。
ZHUBAJIE变声:猪八戒
ETHEREAL变声:空灵。
HULK变声:绿巨人。
表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?