fix bugs.

This commit is contained in:
2025-12-02 19:35:18 +08:00
parent d94d7a75df
commit 10e5504ce1
20 changed files with 171 additions and 176 deletions

View File

@@ -7,6 +7,7 @@ import android.os.Looper;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.SoundEffectConstants;
import android.view.View;
import android.widget.FrameLayout;
@@ -57,6 +58,12 @@ import okhttp3.ResponseBody;
public class AvatarFrameView extends FrameLayout {
private PlaybackManager playbackManager;
private boolean isMute = false;
public void setMute(boolean b) {
this.isMute = b;
}
public enum RenderType {SVGA, MP4}
private RenderType renderType;
@@ -113,49 +120,6 @@ public class AvatarFrameView extends FrameLayout {
// 初始化播放管理器
playbackManager = new PlaybackManager(mainHandler);
// 获取 MP4PlaybackCallback 单例实例并设置引用
// MP4PlaybackCallback callback = MP4PlaybackCallback.getInstance();
// callback.setAvatarFrameView(this);
// 设置播放完成监听
// mBinding.playView.setAnimListener(callback);
// if (mBinding != null) {
// mBinding.playView.setAnimListener(this);
// }
// MP4PlaybackCallback = new IAnimListener() {
// @Override
// public boolean onVideoConfigReady(@NonNull AnimConfig animConfig) {
// return false;
// }
//
// @Override
// public void onVideoStart() {
//
// }
//
// @Override
// public void onVideoRender(int i, @Nullable AnimConfig animConfig) {
//
// }
//
// @Override
// public void onVideoComplete() {
// onPlaybackComplete();
// }
//
// @Override
// public void onVideoDestroy() {
//
// }
//
// @Override
// public void onFailed(int i, @Nullable String s) {
// onPlaybackComplete();
// }
// };
// // 设置播放完成监听
// mBinding.playView.setAnimListener(MP4PlaybackCallback);
}
private String getFileExtension(String url) {
@@ -488,7 +452,7 @@ public class AvatarFrameView extends FrameLayout {
} else {
mBinding.playView.setLoop(1); // 播放一次
}
mBinding.playView.setMute(isMute);
// 开始播放前检查视图状态
if (!isDestroyed && mBinding != null && mBinding.playView != null) {
mBinding.playView.startPlay(file);

View File

@@ -29,9 +29,9 @@ class ShineTextView : AppCompatTextView {
//流光效果下字体流动次数
var shineCount: Int = Int.MAX_VALUE
//注入效果 开始,中间,结束
var startColor: Int = Color.WHITE
var shineColor: Int = Color.WHITE
var endColor: Int = Color.WHITE
var startColor: Int = Color.BLACK
var shineColor: Int = Color.BLACK
var endColor: Int = Color.BLACK
//一次动效时长
var shineDuration: Int = 1000
@@ -104,7 +104,7 @@ class ShineTextView : AppCompatTextView {
0f,
0f,
0f,
intArrayOf(Color.TRANSPARENT,Color.TRANSPARENT),
intArrayOf(Color.BLACK,Color.BLACK),
null,
Shader.TileMode.CLAMP
)