修复暂时离开功能无效问题

调整购买守护的动画效果
This commit is contained in:
2024-06-16 11:00:50 +08:00
parent 020b5c1025
commit a7421ba1a6
10 changed files with 125 additions and 35 deletions

View File

@@ -1,10 +1,17 @@
package io.agora.beautyapi.faceunity.agora;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
import android.text.TextUtils;
import android.view.SurfaceView;
import android.widget.FrameLayout;
import androidx.core.content.res.ResourcesCompat;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.bean.SwTokenModel;
@@ -17,6 +24,9 @@ import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.faceunity.utils.FURenderer;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
@@ -27,13 +37,16 @@ import io.agora.beautyapi.faceunity.Config;
import io.agora.beautyapi.faceunity.FaceUnityBeautyAPI;
import io.agora.beautyapi.faceunity.FaceUnityBeautyAPIKt;
import io.agora.beautyapi.faceunity.MirrorMode;
import io.agora.beautyapi.faceunity.R;
import io.agora.rtc2.ChannelMediaOptions;
import io.agora.rtc2.Constants;
import io.agora.rtc2.IRtcEngineEventHandler;
import io.agora.rtc2.RtcConnection;
import io.agora.rtc2.RtcEngine;
import io.agora.rtc2.RtcEngineConfig;
import io.agora.rtc2.RtcEngineEx;
import io.agora.rtc2.video.ContentInspectConfig;
import io.agora.rtc2.video.ImageTrackOptions;
import io.agora.rtc2.video.VideoCanvas;
import io.agora.rtc2.video.VideoEncoderConfiguration;
@@ -53,6 +66,7 @@ public class SWManager extends BaseCacheManager {
private FrameLayout linkUserContainer;//连麦用户视图
private onRtcEngineListener onRtcEngineListener;
private List<String> drPkUserInfo = new ArrayList<>();
private ImageTrackOptions imageTrackOptions = null;
private onDrPkJoinSuccessListener onDrPkJoinSuccessListener;
@@ -66,6 +80,17 @@ public class SWManager extends BaseCacheManager {
public SWManager(Context context) {
super(context);
String filePath = context.getCacheDir() + File.separator + "zslk.png";
if (!new File(filePath).exists()) {
Bitmap bitmap = ((BitmapDrawable) ResourcesCompat.getDrawable(context.getResources(), com.yunbao.common.R.mipmap.zslk, null)).getBitmap();
try {
bitmap.compress(Bitmap.CompressFormat.PNG, 100, new FileOutputStream(filePath));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
imageTrackOptions = new ImageTrackOptions(filePath, 1);
}
/**
@@ -80,6 +105,12 @@ public class SWManager extends BaseCacheManager {
return manager;
}
public void setLeaveFlag(boolean leave) {
if (mRtcEngine != null) {
mRtcEngine.enableVideoImageSource(leave, imageTrackOptions);
}
}
/**
* 初始化声网SDK
*/
@@ -126,7 +157,6 @@ public class SWManager extends BaseCacheManager {
cfg.orientationMode = VideoEncoderConfiguration.ORIENTATION_MODE.ORIENTATION_MODE_FIXED_PORTRAIT;
mRtcEngine.setVideoEncoderConfiguration(cfg);
// 创建一个 SurfaceView 对象,并将其作为 FrameLayout 的子对象
@@ -497,6 +527,7 @@ public class SWManager extends BaseCacheManager {
public interface onRtcEngineListener {
void onOpenSuccess(String channel, int uid);
void onUserOffline(int uid);
}