feat:个人资料卡支持 MP4 资源

This commit is contained in:
eggmanQQQ
2024-08-27 11:53:49 +08:00
parent b0bf9ce98d
commit 5f8a8113c6
2 changed files with 76 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_DRAGON_BA
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_DRAGON_BAR_CANCEL;
import static com.chwl.core.manager.RoomEvent.DRAGON_BAR_CANCEL;
import static com.chwl.library.utils.ResUtil.getString;
import static com.netease.nim.uikit.common.util.log.LogUtil.log;
import android.annotation.SuppressLint;
import android.content.ClipData;
@@ -11,6 +12,7 @@ import android.content.ClipboardManager;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
@@ -21,6 +23,8 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatDialog;
import androidx.appcompat.widget.AppCompatImageView;
import androidx.recyclerview.widget.GridLayoutManager;
@@ -28,6 +32,12 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chwl.app.utils.AvatarHelper;
import com.chwl.library.download.DownloadException;
import com.chwl.library.download.DownloadManager;
import com.chwl.library.download.DownloadRequest;
import com.chwl.library.download.DownloadTask;
import com.chwl.library.download.FileDownloadListener;
import com.chwl.library.utils.PathHelper;
import com.chwl.library.widget.SVGAView;
import com.google.android.flexbox.FlexboxLayout;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
@@ -92,11 +102,16 @@ import com.chwl.library.net.rxnet.callback.CallBack;
import com.chwl.library.utils.ListUtils;
import com.chwl.library.utils.SingleToastUtil;
import com.chwl.library.utils.config.BasicConfig;
import com.tencent.qgame.animplayer.AnimConfig;
import com.tencent.qgame.animplayer.AnimView;
import com.tencent.qgame.animplayer.inter.IAnimListener;
import com.tencent.qgame.animplayer.util.ScaleType;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -141,6 +156,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
private AppCompatImageView mIvUserLevel;
private AppCompatImageView mIvUserCharm;
private ImageView ivUserCardWear;
private AnimView ivUserCardWearMP4;
private TextView tvFamilyNameLabel;
private TextView tvFamilyName;
private FlexboxLayout flexbox;
@@ -258,6 +274,42 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
mIvUserCharm = findViewById(R.id.iv_user_charm);
ivUserCardWear = findViewById(R.id.iv_user_card_wear);
ivUserCardWearMP4 = findViewById(R.id.iv_user_card_wear_mp4);
ivUserCardWearMP4.setScaleType(ScaleType.CENTER_CROP);
ivUserCardWearMP4.setLoop(Integer.MAX_VALUE);
ivUserCardWearMP4.setAnimListener(new IAnimListener() {
@Override
public boolean onVideoConfigReady(@NonNull AnimConfig animConfig) {
return true;
}
@Override
public void onVideoStart() {
log( "onVideoStart: ");
}
@Override
public void onVideoRender(int i, @Nullable AnimConfig animConfig) {
}
@Override
public void onVideoComplete() {
log( "onVideoComplete: ");
}
@Override
public void onVideoDestroy() {
}
@Override
public void onFailed(int i, @Nullable String s) {
}
});
tvFamilyNameLabel = (TextView) findViewById(R.id.tv_family_name_label);
tvFamilyName = (TextView) findViewById(R.id.tv_family_name);
tvSelectHim = findViewById(R.id.tv_select_him);
@@ -543,7 +595,8 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
//资料卡装扮
if (!TextUtils.isEmpty(userInfo.getUserInfoCardPic())) {
ImageLoadUtils.loadImage(context, userInfo.getUserInfoCardPic(), ivUserCardWear);
// drawVAPEffect(userInfo.getUserInfoCardPic());
drawVAPEffect("https://image.pekolive.com/v7.mp4");
} else {
ivUserCardWear.setImageDrawable(null);
}
@@ -602,6 +655,23 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
}
}
private void drawVAPEffect(String url) {
String filePath = PathHelper.INSTANCE.generateResourcesFilePath(url);
DownloadRequest request = DownloadRequest.Companion.build(url, filePath, "gift_effect_download", null, 60000L);
DownloadManager.INSTANCE.download(request, new FileDownloadListener() {
@Override
public void onDownloadCompleted(@NonNull DownloadTask task) {
String path = task.getRequest().getPath();
ivUserCardWearMP4.startPlay(new File(path));
}
@Override
public void onDownloadError(@NonNull DownloadException exception) {
ImageLoadUtils.loadImage(context, userInfo.getUserInfoCardPic(), ivUserCardWear);
}
});
}
private void copyName() {
try {
ClipboardManager cm = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);

View File

@@ -316,6 +316,11 @@
android:layout_width="match_parent"
android:layout_height="180dp"
tools:background="@drawable/bg_user_card_wear" />
<com.tencent.qgame.animplayer.AnimView
android:id="@+id/iv_user_card_wear_mp4"
android:layout_width="match_parent"
android:layout_height="180dp"
tools:background="@drawable/bg_user_card_wear" />
</FrameLayout>