logo
当前页

设置用户头像


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

用户静音时用户发言时

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

注意

您需要根据回调参数中的用户参数为不同的用户返回不同的头像。如果硬编码一个 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();

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

Previous

切换语言

Next

添加自定义 UI 组件

当前页

返回到顶部