Skip to content

Latest commit

 

History

History

avchatkit

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

AVChatKit 使用说明

全局配置项 AVChatOptions

AVChatKit 组件提供了全局配置类 AVChatOptions,初始化 AVChatKit 时传入 AVChatOptions 对象。

类型 AVChatOptions 属性 说明
Class<? extends Activity> entranceActivity 通知入口
int notificationIconRes 通知栏icon
void logout(Context context) 被踢出时,调用的方法

初始化

在应用的 Application 的 主进程 中初始化 AVChatKit。

AVChatOptions avChatOptions = new AVChatOptions(){
    @Override
    public void logout(Context context) {
        // 主程序登出操作
    }
};
// 点击通知栏,入口Activity
avChatOptions.entranceActivity = WelcomeActivity.class;
// 通知栏图标icon
avChatOptions.notificationIconRes = R.drawable.ic_stat_notify_msg;
// 初始化 AVChatKit
AVChatKit.init(avChatOptions);
  • 示例
AVChatOptions avChatOptions = new AVChatOptions(){
    @Override
    public void logout(Context context) {
        MainActivity.logout(context, true);
    }
};
avChatOptions.entranceActivity = WelcomeActivity.class;
avChatOptions.notificationIconRes = R.drawable.ic_stat_notify_msg;
AVChatKit.init(avChatOptions);

// 初始化日志系统
LogHelper.init();
// 设置用户相关资料提供者
AVChatKit.setUserInfoProvider(new IUserInfoProvider() {
    @Override
    public UserInfo getUserInfo(String account) {
        return NimUIKit.getUserInfoProvider().getUserInfo(account);
    }

    @Override
    public String getUserDisplayName(String account) {
        return UserInfoHelper.getUserDisplayName(account);
    }
});
// 设置群组数据提供者
AVChatKit.setTeamDataProvider(new ITeamDataProvider() {
    @Override
    public String getDisplayNameWithoutMe(String teamId, String account) {
        return TeamHelper.getDisplayNameWithoutMe(teamId, account);
    }

    @Override
    public String getTeamMemberDisplayName(String teamId, String account) {
        return TeamHelper.getTeamMemberDisplayName(teamId, account);
    }
});

AVChatKit 中用到的 Activity 已经在 AVChatKit 工程的 AndroidManifest.xml 文件中注册好,上层 APP 无需再去添加注册。

快速使用

发起点对点音视频通话呼叫

  • API 原型
/**
 * 发起音视频通话呼叫
 * @param context   上下文
 * @param account   被叫方账号
 * @param displayName   被叫方显示名称
 * @param callType      音视频呼叫类型
 * @param source        发起呼叫的来源,参考AVChatActivityEx.FROM_INTERNAL/FROM_BROADCASTRECEIVER
 */
public static void outgoingCall(Context context, String account, String displayName, int callType, int source);
  • 参数介绍
参数 说明
context 上下文
account 被叫方账号
displayName 被叫方显示名称
callType 音视频呼叫类型
source 发起呼叫的来源,参考AVChatActivityEx.FROM_INTERNAL/FROM_BROADCASTRECEIVER
  • 示例
AVChatKit.outgoingCall(context, "testAccount", "displayName" AVChatType.AUDIO, AVChatActivity.FROM_INTERNAL);

发起群组音视频通话呼叫

  • API 原型
/**
 * 发起群组音视频通话呼叫
 * @param context   上下文
 * @param receivedCall  是否是接收到的来电
 * @param teamId    team id
 * @param roomId    音视频通话room id
 * @param accounts  音视频通话账号集合
 * @param teamName  群组名称
 */
public static void outgoingTeamCall(Context context, boolean receivedCall, String teamId, String roomId, ArrayList<String> accounts, String teamName);
  • 参数说明
参数 说明
context 上下文
receivedCall 是否是接收到的来电
teamId team id
roomId 音视频通话 room id
accounts 音视频通话账号集合
teamName 群组名称
  • 示例
// 以下参数为示例
AVChatKit.outgoingTeamCall(context, false, "1111", "roomName", accounts, "teamName");

打开网络通话设置界面

  • API 原型
/**
 * 打开网络通话设置界面
 * @param context   上下文
 */
public static void startAVChatSettings(Context context);
  • 示例
AVChatKit.startAVChatSettings(SettingsActivity.this);