TRTCCalling 是基于腾讯云实时音视频(TRTC)和即时通信 IM 服务组合而成的,支持1v1和多人语音通话。TRTCCalling 是一个开源的 Class,依赖腾讯云的两个闭源 SDK,具体的实现过程请参见 实时语音通话(Android)。
API | 描述 |
---|---|
sharedInstance | 组件单例。 |
destroySharedInstance | 销毁组件单例。 |
addDelegate | 增加事件回调。 |
removeDelegate | 移除回调接口。 |
destroy | 销毁函数,如果无需再运行该实例,请调用该接口。 |
login | 登录组件接口,所有功能需要先进行登录后才能使用。 |
logout | 登出组件接口,登出后无法再进行拨打操作。 |
API | 描述 |
---|---|
call | 单人通话邀请。 |
groupCall | 群聊通话邀请。 |
accept | 接受当前通话。 |
reject | 拒绝当前通话。 |
hangup | 结束当前通话。 |
API | 描述 |
---|---|
setMicMute | 静音本地音频采集。 |
setHandsFree | 设置免提。 |
API | 描述 |
---|---|
onError | 错误回调。 |
API | 描述 |
---|---|
onReject | 拒绝通话回调。 |
onNoResp | 对方无回应回调。 |
onLineBusy | 通话忙线回调。 |
API | 描述 |
---|---|
onInvited | 被邀请通话回调。 |
onCallingCancel | 当前通话被取消回调。 |
onCallingTimeOut | 当前通话超时回调。 |
API | 描述 |
---|---|
onGroupCallInviteeListUpdate | 群聊更新邀请列表回调。 |
onUserEnter | 用户进入通话回调。 |
onUserLeave | 用户离开通话回调。 |
onUserAudioAvailable | 用户是否开启音频上行回调。 |
onUserVoiceVolume | 用户通话音量回调。 |
onCallEnd | 通话结束回调。 |
sharedInstance 是 TRTCCalling 的组件单例。
public static ITRTCCalling sharedInstance(Context context);
销毁组件单例。
public static void destroySharedInstance();
销毁函数,如果无需再运行该实例,请调用该接口。
void destroy();
TRTCCalling 事件回调,您可以通过 TRTCCallingDelegate 获得 TRTCCalling 的各种状态通知。
public abstract void addDelegate(TRTCCallingDelegate delegate);
?TRTCCallingDelegate 是 TRTCCalling 的代理回调。
移除回调接口。
void removeDelegate(TRTCCallingDelegate listener);
登录组件。
void login( int sdkAppId,
final String userId,
String userSig,
final ActionCallBack callback);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
sdkAppID | int | 您可以在实时音视频控制台 >【应用管理】> 应用信息中查看 SDKAppID。 |
userId | String | 当前用户的 ID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_)。 |
userSig | String | 腾讯云设计的一种安全保护签名,获取方式请参见 如何计算及使用 UserSig。 |
callback | ActionCallBack | 登录回调,onSuccess 表示登录成功。 |
登出组件。
void logout(final ActionCallBack callBack);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
callBack | ActionCallBack | 登出回调,onSuccess 表示登出成功。 |
单人通话邀请,当前处于通话中也可继续调用邀请他人。
void call(String userId, int type);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 呼叫用户 ID。 |
type | int | 1 表示语音通话,2 表示视频通话。 |
IM 群组邀请通话,被邀请方会收到 onInvited()
回调。如果当前处于通话中,可以继续调用该函数继续邀请他人进入通话,同时正在通话的用户会收到 onGroupCallInviteeListUpdate()
回调。
void groupCall(List<String> userIdList, int type, String groupId);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userIdList | List<String> | 邀请 ID 列表。 |
type | int | 1 表示语音通话,2 表示视频通话。 |
groupId | String | 群 ID。 |
接受当前通话。当您作为被邀请方收到 onInvited()
的回调时,可以调用该函数接听来电。
void accept();
拒绝当前通话。当您作为被邀请方收到 onInvited()
的回调时,可以调用该函数拒绝来电。
void reject();
挂断当前通话。当您处于通话中,可以调用该函数结束通话。
void hangup();
静音本地音频采集。
void setMicMute(boolean isMute);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
isMute | boolean | true 表示麦克风关闭,false 表示麦克风打开。 |
静音远端音频。
void setHandsFree(boolean isHandsFree);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
isHandsFree | boolean | true 表示开启免提,false 表示关闭免提。 |
错误回调。
?SDK 不可恢复的错误,一定要监听,并分情况给用户适当的界面提示。
void onError(int code, String msg);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
code | int | 错误码。 |
msg | String | 错误信息。 |
拒绝通话回调。
void onReject(String userId);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 拒绝用户的 ID。 |
对方无回应回调。
void onNoResp(String userId);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 无回应用户的 ID。 |
通话忙线回调。
void onLineBusy(String userId);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 忙线用户的 ID。 |
被邀请通话回调。
void onInvited(String sponsor, List<String> userIdList, boolean isFromGroup, int callType);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
sponsor | String | 发起方的 ID。 |
userIdList | List<String> | 除自己外被邀请 ID 列表。 |
isFromGroup | boolean | 是否多人通话邀请。 |
callType | int | 1 表示语音通话,2 表示视频通话。 |
当前通话被取消回调。接收方未处理请求,邀请方取消后会收到此回调。
void onCallingCancel();
当前通话超时回调。
void onCallingTimeout();
群聊更新邀请列表回调。
void onGroupCallInviteeListUpdate(List<String> userIdList);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userIdList | List<String> | 邀请 ID 列表。 |
用户进入通话回调。
void onUserEnter(String userId);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 进入通话用户 ID。 |
用户离开通话回调。
void onUserLeave(String userId);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 离开通话用户 ID。 |
用户是否开启音频上行回调。
void onUserAudioAvailable(String userId, boolean available);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 通话用户 ID。 |
available | boolean | 用户音频是否可用。 |
用户通话音量回调。
void onUserVoiceVolume(Map<String, Integer> volumeMap);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
volumeMap | Map<String, Integer> | 音量表,根据每个 userid 可以获取对应的音量大小,音量最小值为0,音量最大值为100。 |
通话结束回调。
void onCallEnd();