logo
当前页

设置用户头像


用户头像通常存储在服务器中。音视频通话 UIKit 不知道每个用户的真实头像,因此默认使用用户名的首字母来绘制用户头像,如下所示:

用户静音时用户发言时

要配置自定义用户头像,可以使用 ZegoUIKitPrebuiltCallConfig 中的 avatarViewProvider 来设置自定义视图。

Warning

您需要根据回调参数中的用户参数为不同的用户返回不同的头像。如果硬编码一个 URL,那么每个人的头像都将是您硬编码的那个 URL。

以下是参考代码:

基本通话
携带邀请的通话
long appID = ; // 从 ZEGO 控制台获取的 AppID
String appSign = ; // 从 ZEGO 控制台获取的 AppSign
String userID = ; // 您自定义的用户 ID
String userName = ; // 您自定义的用户名称
String callID = ;

ZegoUIKitPrebuiltCallConfig config = ZegoUIKitPrebuiltCallConfig.oneOnOneVideoCall();

config.avatarViewProvider = new ZegoAvatarViewProvider() {
    @Override
    public View onUserIDUpdated(ViewGroup parent, ZegoUIKitUser uiKitUser) {
        ImageView imageView = new ImageView(parent.getContext());
        // 请注意,您需要根据回调参数中的用户参数为不同的用户返回不同的头像。
        // 如果硬编码一个 URL,那么每个人的头像都将是您硬编码的那个 URL。
        String avatarUrl = 根据用户ID获取头像(uiKitUser.userID);
        if (!TextUtils.isEmpty(avatarUrl)) {
            RequestOptions requestOptions = new RequestOptions().circleCrop();
            Glide.with(parent.getContext()).load(avatarUrl).apply(requestOptions).into(imageView);
        }
        return imageView;
    }
};

ZegoUIKitPrebuiltCallFragment fragment = ZegoUIKitPrebuiltCallFragment.newInstance(appID, appSign, userID,userName, callID, config);
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment).commitNow();
1
Copied!
long appID = ; // 从 ZEGO 控制台获取的 AppID
String appSign = ; // 从 ZEGO 控制台获取的 AppSign
String userID = ; // 您自定义的用户 ID
String userName = ; // 您自定义的用户名称

ZegoUIKitPrebuiltCallInvitationConfig callInvitationConfig = new ZegoUIKitPrebuiltCallInvitationConfig();
callInvitationConfig.provider = new ZegoUIKitPrebuiltCallConfigProvider() {
    @Override
    public ZegoUIKitPrebuiltCallConfig requireConfig(ZegoCallInvitationData invitationData) {
        ZegoUIKitPrebuiltCallConfig config = ZegoUIKitPrebuiltCallConfig.oneOnOneVideoCall();
        config.avatarViewProvider = new ZegoAvatarViewProvider() {
            @Override
            public View onUserIDUpdated(ViewGroup parent, ZegoUIKitUser uiKitUser) {
                ImageView imageView = new ImageView(parent.getContext());
                // 请注意,您需要根据回调参数中的用户参数为不同的用户返回不同的头像。
                // 如果硬编码一个URL,那么每个人的头像都将是您硬编码的那个 URL。
                String avatarUrl = 根据用户ID获取头像(uiKitUser.userID);
                if (!TextUtils.isEmpty(avatarUrl)) {
                    RequestOptions requestOptions = new RequestOptions().circleCrop();
                    Glide.with(parent.getContext()).load(avatarUrl).apply(requestOptions).into(imageView);
                }
                return imageView;
            }
        };
        return config;
    }
};
ZegoUIKitPrebuiltCallService.init(getApplication(), appID, appSign, userID, userName,callInvitationConfig);
1
Copied!

完成后,音视频通话 UIKit 将显示您设置的自定义用户头像。

当前页

返回到顶部