修复安卓用户主播关播后在关播顶面显示主播最后一真画面。

修复安卓主播关播后还在一直推流。
This commit is contained in:
zlzw 2024-06-18 17:39:05 +08:00
parent d8e9cc2189
commit 48e3ff46ab
3 changed files with 29 additions and 7 deletions

View File

@ -2,8 +2,16 @@ package io.agora.beautyapi.faceunity.agora;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.opengl.EGL14;
import android.opengl.EGLConfig;
import android.opengl.EGLContext;
import android.opengl.EGLDisplay;
import android.opengl.EGLSurface;
import android.opengl.GLES20;
import android.util.Log; import android.util.Log;
import android.view.Surface;
import android.view.TextureView; import android.view.TextureView;
import android.view.View;
import android.widget.FrameLayout; import android.widget.FrameLayout;
@ -416,6 +424,18 @@ public class SWAuManager extends BaseCacheManager {
this.linkUserContainer = linkUserContainer; this.linkUserContainer = linkUserContainer;
} }
public void release() {
if (audienceContainer != null) {
TextureView childAt = (TextureView) audienceContainer.getChildAt(0);
if (childAt != null && childAt.getSurfaceTexture() != null) {
childAt.setVisibility(View.GONE);
childAt.invalidate();
audienceContainer.removeAllViews();
}
}
}
public interface SwListener { public interface SwListener {
void onUserOffline(int liveUid); void onUserOffline(int liveUid);
} }

View File

@ -630,6 +630,7 @@ public class LivePlaySwViewHolder extends LiveRoomPlayViewHolder {
mEnd = true; mEnd = true;
mStarted = false; mStarted = false;
Bus.getOff(this); Bus.getOff(this);
swAuManager.release();
EventBus.getDefault().unregister(this); EventBus.getDefault().unregister(this);
//swAuManager.exitChannelAll(); //swAuManager.exitChannelAll();
L.e(TAG, "release------->"); L.e(TAG, "release------->");

View File

@ -549,6 +549,7 @@ public class LivePushSwViewHolder extends AbsRyLivePushViewHolder implements ITX
public void release() { public void release() {
super.release(); super.release();
Bus.getOff(this); Bus.getOff(this);
onDestroy();
LiveHttpUtil.cancel(LiveHttpConsts.LINK_MIC_TX_MIX_STREAM); LiveHttpUtil.cancel(LiveHttpConsts.LINK_MIC_TX_MIX_STREAM);
rtcRoom = null; rtcRoom = null;
} }