设置用户头像
用户头像通常存储在服务器中。音视频通话 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
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
完成后,音视频通话 UIKit 将显示您设置的自定义用户头像。