重新启用美颜sdk

调整美颜sdk只使用美颜功能
This commit is contained in:
2022-10-19 16:19:50 +08:00
parent 99d32c03b2
commit 00dfd38be5
33 changed files with 1499 additions and 1366 deletions

View File

@@ -478,12 +478,12 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl
if (mLiveReadyViewHolder != null) {
mLiveReadyViewHolder.hide();
}
/* if(mLiveRoomViewHolder!=null){
if(mLiveRoomViewHolder!=null){
mLiveRoomViewHolder.changeFaceUnityView();
}*/
LiveBeautyDialogFragment fragment = new LiveBeautyDialogFragment();
}
/* LiveBeautyDialogFragment fragment = new LiveBeautyDialogFragment();
fragment.setiBeautyModule(BeautyManager.iBeautyModule, BeautyManager.iLookupModule, BeautyManager.iBeautyBodyModule);
fragment.show(getSupportFragmentManager(), "LiveBeautyDialogFragment");
fragment.show(getSupportFragmentManager(), "LiveBeautyDialogFragment");*/
}
/**

View File

@@ -9,6 +9,9 @@ public class LiveEnterRoomBean {
private LiveUserGiftBean mUserBean;
private LiveChatBean mLiveChatBean;
public LiveEnterRoomBean() {
}
public LiveEnterRoomBean(LiveUserGiftBean userBean, LiveChatBean liveChatBean) {
mUserBean = userBean;
mLiveChatBean = liveChatBean;

View File

@@ -12,6 +12,8 @@ import android.view.WindowManager;
import androidx.annotation.Nullable;
import com.yunbao.common.dialog.AbsDialogFragment;
import com.yunbao.faceunity.FaceManager;
import com.yunbao.faceunity.ui.FaceUnityView;
import com.yunbao.live.R;
/**
@@ -19,8 +21,8 @@ import com.yunbao.live.R;
*/
public class LiveFaceUnityDialogFragment extends AbsDialogFragment {
private Context mContext;
// private FaceUnityView faceView;
// private FaceManager manager;
private FaceUnityView faceView;
private FaceManager manager;
private View mRootView;
public LiveFaceUnityDialogFragment(Context mContext) {
@@ -34,9 +36,8 @@ public class LiveFaceUnityDialogFragment extends AbsDialogFragment {
@Override
protected View getLayoutView() {
// faceView = new FaceUnityView(mContext);
// return faceView;
return null;
faceView = new FaceUnityView(mContext);
return faceView;
}
@Override
@@ -63,7 +64,7 @@ public class LiveFaceUnityDialogFragment extends AbsDialogFragment {
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// manager.setFaceUnityView(faceView);
manager.setFaceUnityView(faceView);
}
@Override
@@ -74,9 +75,9 @@ public class LiveFaceUnityDialogFragment extends AbsDialogFragment {
}
}
/* public void setManager(FaceManager manager) {
public void setManager(FaceManager manager) {
this.manager = manager;
}*/
}
public void setDismissShowUi(View mRootView) {

View File

@@ -311,7 +311,27 @@ public class LiveEnterRoomAnimPresenter {
SVGARect rect = svgaVideoEntity.getVideoSize();
enter_room_svg_small.setVideoItem(svgaVideoEntity);
enter_room_svg_small.setLoops(1);
SVGAViewUtils.playEndClear(enter_room_svg_small);
SVGAViewUtils.playEndClear(enter_room_svg_small, true, new SVGACallback() {
@Override
public void onPause() {
}
@Override
public void onFinished() {
mIsAnimating = false;
}
@Override
public void onRepeat() {
}
@Override
public void onStep(int i, double v) {
}
});
}
} else {
if (mSVGImageView != null) {
@@ -319,7 +339,7 @@ public class LiveEnterRoomAnimPresenter {
SVGARect rect = svgaVideoEntity.getVideoSize();
mSVGImageView.setVideoItem(svgaVideoEntity);
mSVGImageView.setLoops(1);
mSVGImageView.setCallback(new SVGACallback() {
SVGAViewUtils.playEndClear(mSVGImageView,true,new SVGACallback() {
@Override
public void onPause() {
@@ -343,7 +363,6 @@ public class LiveEnterRoomAnimPresenter {
}
});
mSVGImageView.startAnimation();
}
}
mIsAnimating = false;

View File

@@ -33,6 +33,7 @@ import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.AbsViewHolder;
import com.yunbao.faceunity.FaceManager;
import com.yunbao.live.R;
import com.yunbao.live.activity.Beauty360Activity3;
import com.yunbao.live.activity.LiveActivity;
@@ -70,7 +71,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
private boolean mOpenLocation = true;
private int mLiveSdk;
private LiveClassBean classBean;
// private FaceManager manager;
private FaceManager manager;
private TextView faceTextView;//提示人脸未检测到的TextView
public LiveNewReadyRyViewHolder(Context context, ViewGroup parentView, int liveSdk) {
@@ -190,7 +191,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
}
}
};
/* manager = new FaceManager();
manager = new FaceManager();
manager.setFaceStatusChanged(new FaceManager.FaceStatusChanged() {
final Handler handler = new Handler(Looper.getMainLooper());
@@ -204,10 +205,10 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
}
});
}
});*/
});
//新美颜
//manager.initFURender(mContext);
//manager.drawRongFrame(mContext);
manager.initFURender(mContext);
manager.drawRongFrame(mContext);
}
@@ -227,8 +228,8 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
} else if (i == R.id.btn_live_class) {
chooseLiveClass();
} else if (i == R.id.btn_beauty) {
beauty();//momo美颜
//setFaceUnity(); //新娱美颜
//beauty();//momo美颜
setFaceUnity(); //新娱美颜
} else if (i == R.id.btn_wishlist) {
//点击心愿单
openWishListWindow();
@@ -250,7 +251,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl
*/
public void setFaceUnity() {
LiveFaceUnityDialogFragment fragment = new LiveFaceUnityDialogFragment(mContext);
// fragment.setManager(manager);
fragment.setManager(manager);
fragment.setDismissShowUi(mRootView);
if (mContext instanceof LiveRyAnchorActivity) {
fragment.show(((LiveRyAnchorActivity) mContext).getSupportFragmentManager(), "FaceUnity");

View File

@@ -197,7 +197,7 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
if (TextUtils.isEmpty(url) || mVideoView == null) {
return;
}
mPlayer.setCacheParams(1.0f, 5.0f);
//mPlayer.setCacheParams(1.0f, 5.0f);
mPlayer.setObserver(new V2TXLivePlayerObserver() {
String TAG = "播放流";
@@ -214,8 +214,8 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
if (code == 2105) {
// mPlayer.resumeVideo();
// mPlayer.resumeAudio();
/* mPlayer.stopPlay();
mPlayer.startPlay(purl);*/
mPlayer.stopPlay();
mPlayer.startPlay(purl);
}
}
@@ -240,6 +240,36 @@ public class LivePlayRyViewHolder extends LiveRoomPlayViewHolder {
@Override
public void onStatisticsUpdate(V2TXLivePlayer player, V2TXLiveDef.V2TXLivePlayerStatistics statistics) {
super.onStatisticsUpdate(player, statistics);
Map<String, DownloadTask> taskMap = OkDownload.getInstance().getTaskMap();
StringBuilder buffer = new StringBuilder();
buffer.append("|");
for (String key : taskMap.keySet()) {
DownloadTask task = taskMap.get(key);
buffer.append(task.progress.fileName).append(":");
int status = task.progress.status;
switch (status) {
case 0:
buffer.append("无状态");
break;
case 1:
buffer.append("等待");
break;
case 2:
buffer.append("下载中:").append(task.progress.fraction);
break;
case 3:
buffer.append("暂停");
break;
case 4:
buffer.append("错误");
break;
case 5:
buffer.append("完成");
break;
}
buffer.append("|");
}
//Log.i(TAG, "onStatisticsUpdate: " + JSON.toJSONString(statistics) + " |当前下载数 : " + OkDownload.getInstance().getTaskMap().size() + buffer);
if (statistics.fps == 0) {
OkDownload.getInstance().pauseAll();
} else {

View File

@@ -538,14 +538,14 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
new Handler(Looper.getMainLooper()).post(new Runnable() {
public void run() {
//旧美颜不需要了
RCRTCEngine.getInstance().getDefaultVideoStream().setVideoFrameListener(new IRCRTCVideoOutputFrameListener() {
/*RCRTCEngine.getInstance().getDefaultVideoStream().setVideoFrameListener(new IRCRTCVideoOutputFrameListener() {
@Override
public RCRTCVideoFrame processVideoFrame(RCRTCVideoFrame rtcVideoFrame) {
// 使用数据进行美颜/录像等处理后,需要把数据再返回给 SDK 做发送。
rtcVideoFrame.setTextureId(tencentTRTCBeautyManager.renderWithTexture(rtcVideoFrame.getTextureId(), rtcVideoFrame.getWidth(), rtcVideoFrame.getHeight(), false));
return rtcVideoFrame;
}
});
});*/
}
});

View File

@@ -94,6 +94,7 @@ import com.yunbao.common.views.AbsViewHolder;
import com.yunbao.common.views.weight.FullServiceNotificationView;
import com.yunbao.common.views.weight.NobleNoticeView;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.faceunity.FaceManager;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveActivity;
import com.yunbao.live.activity.LiveAnchorActivity;
@@ -300,7 +301,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
private RoundedImageView msgUserIcon; //悬浮窗icon
private FullServiceNotificationView fullScreen;//全副喇叭
private NobleNoticeView noble;//全副喇叭
//private FaceManager manager;
private FaceManager manager;
public LiveRoomViewHolder(boolean isRys, int forActivity, Context context, ViewGroup parentView, GifImageView gifImageView, SVGAImageView svgaImageView, ViewGroup liveGiftPrizePoolContainer, WindowManager windowManager) {
super(context, parentView);
@@ -720,6 +721,11 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
if (!IMLoginManager.get(mContext).hintChat()) {
msgLayout.setVisibility(View.VISIBLE);
}
msgLayout.removeAllViews();
msgLayout.setOnClickListener(v -> {
LiveEnterRoomBean bean = JSON.parseObject("{\"liveChatBean\":{\"aiAutomaticSpeechModel\":{\"aiName\":\"null:\"},\"anchor\":false,\"atUserID\":\"\",\"atUserName\":\"\",\"bubble\":\"\",\"content\":\"駕馭着公爵專屬座駕【神化龍魚】霸氣進場了\",\"contentColor\":\"\",\"endColor\":\"\",\"guard_type\":0,\"heart\":0,\"hot_num\":\"75974\",\"id\":\"158329\",\"level\":58,\"manager\":false,\"medal_name\":\"\",\"medal_new\":\"\",\"msgModel\":{\"action\":\"\",\"anchorId\":\"\",\"anchorName\":\"\",\"method\":\"\",\"msgtype\":\"\",\"nobleId\":\"\",\"recommendCardType\":\"\",\"systemBubble\":\"\",\"trumpetMsg\":\"\",\"userId\":\"\",\"userName\":\"\"},\"nobleId\":\"0\",\"startColor\":\"\",\"type\":3,\"user_nicename\":\"爺傲灬奈我何丿\",\"vip_type\":0},\"userBean\":{\"avatar\":\"https://downs.yaoulive.com/20220915105003_c3dd5b27cc1d484dbfdade8ae14cb76e?imageView2/2/w/600/h/600\",\"avatar_thumb\":\"https://downs.yaoulive.com/20220915105003_c3dd5b27cc1d484dbfdade8ae14cb76e?imageView2/2/w/200/h/200\",\"car\":{\"id\":44,\"swf\":\"https://downs.yaoulive.com/%E4%BE%AF%E7%88%B5%C2%B7%E7%A5%9E%E5%8C%96%E9%BE%99%E9%B1%BC.svga\",\"swftime\":7,\"words\":\"駕馭着公爵專屬座駕【神化龍魚】霸氣進場了\"},\"dress\":{},\"fans\":0,\"follows\":0,\"goodName\":\"0\",\"guard_type\":0,\"hide\":false,\"hot_num\":\"75974\",\"id\":\"158329\",\"level\":58,\"level_anchor\":0,\"liang\":{\"name\":\"0\"},\"liangNameTip\":\"ID:158329\",\"lives\":0,\"medal_level'\":0,\"medal_name\":\"\",\"medal_name'\":\"\",\"noble_id\":\"0\",\"nub\":0,\"sex\":0,\"token_rong\":\"\",\"user_nicename\":\"爺傲灬奈我何丿\",\"vip\":{\"type\":0},\"vipType\":0}}", LiveEnterRoomBean.class);
onEnterRoom(bean);
});
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
@@ -1344,9 +1350,13 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
TextView wishIndex = wish.findViewById(R.id.wish_index);
ImgLoader.display(mContext, wishlist.get(i).getWishlistIcon(), wishPic);
wishIndex.setText(wishlist.get(i).getWishlistNumP());
wishListFlipper.addView(wish);
if(wishListFlipper!=null) {
wishListFlipper.addView(wish);
}
}
if(wishListFlipper!=null) {
wishListFlipper.startFlipping();
}
wishListFlipper.startFlipping();
});
}
@@ -1461,7 +1471,9 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
model.setWishlistProgress(String.valueOf(number));
}
}
wishListFlipper.removeAllViews();
if (wishListLayout != null) {
wishListLayout.removeAllViews();
}
initWishList(wishlist);
}
@@ -2776,7 +2788,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
* 启动美颜SDK
*/
public void startFace() {
/* manager = new FaceManager();
manager = new FaceManager();
manager.setFaceStatusChanged(new FaceManager.FaceStatusChanged() {
@Override
public void onFaceChanged(int num) {
@@ -2784,16 +2796,16 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
});
manager.initFURender(mContext);
manager.drawRongFrame(mContext);*/
manager.drawRongFrame(mContext);
}
/**
* 切换美颜UI
*/
public void changeFaceUnityView() {
// faceUnityView.setVisibility(faceUnityView.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
// faceUnityView.setVisibility(faceUnityView.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
LiveFaceUnityDialogFragment fragment = new LiveFaceUnityDialogFragment(mContext);
// fragment.setManager(manager);
fragment.setManager(manager);
fragment.show(((LiveActivity) mContext).getSupportFragmentManager(), "faceUi");
}

View File

@@ -250,18 +250,10 @@
android:layout_marginTop="5dp"
android:background="@drawable/bg_live_chat"
android:orientation="horizontal">
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center"
android:layout_marginLeft="5dp"
android:visibility="gone"
android:src="@mipmap/icon_live_msg" />
<TextView
android:id="@+id/et_input"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="30dp"
android:layout_gravity="center"
android:alpha="0.5"
@@ -271,6 +263,15 @@
android:textColor="@color/textColor"
android:textColorHint="@color/gray3"
android:textSize="12sp" />
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center"
android:layout_marginEnd="15dp"
android:visibility="visible"
android:src="@mipmap/icon_live_msg" />
</LinearLayout>

View File

@@ -667,7 +667,7 @@
android:layout_height="48dp"
android:layout_alignParentEnd="true"
android:layout_marginEnd="0dp"
android:visibility="invisible"
android:visibility="visible"
android:background="@drawable/bg_live_room_msg">
<androidx.constraintlayout.widget.ConstraintLayout