提交 f39de64a authored 作者: kongdywang's avatar kongdywang

Fix the issue of abnormal display when restoring picture-in-picture

上级 cc1ec30c
...@@ -161,6 +161,9 @@ public class FTXLivePlayer extends FTXLivePlayerRenderHost implements TXFlutterL ...@@ -161,6 +161,9 @@ public class FTXLivePlayer extends FTXLivePlayerRenderHost implements TXFlutterL
int startPlayerLivePlay(String url) { int startPlayerLivePlay(String url) {
LiteavLog.d(TAG, "startLivePlay:"); LiteavLog.d(TAG, "startLivePlay:");
if (null != mLivePlayer) { if (null != mLivePlayer) {
if (null != mCurRenderView) {
mCurRenderView.setPlayer(this);
}
mLivePlayer.resumeVideo(); mLivePlayer.resumeVideo();
if (!mIsMute) { if (!mIsMute) {
mLivePlayer.resumeAudio(); mLivePlayer.resumeAudio();
...@@ -186,7 +189,6 @@ public class FTXLivePlayer extends FTXLivePlayerRenderHost implements TXFlutterL ...@@ -186,7 +189,6 @@ public class FTXLivePlayer extends FTXLivePlayerRenderHost implements TXFlutterL
if (isNeedClearLastImg && null != mCurRenderView) { if (isNeedClearLastImg && null != mCurRenderView) {
LiteavLog.i(TAG, "stopPlay target clear last img, player:" + hashCode()); LiteavLog.i(TAG, "stopPlay target clear last img, player:" + hashCode());
mCurRenderView.clearTexture(); mCurRenderView.clearTexture();
mCurRenderView.setPlayer(this);
} }
return result; return result;
} }
......
...@@ -317,6 +317,9 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi ...@@ -317,6 +317,9 @@ public class FTXVodPlayer extends FTXVodPlayerRenderHost implements ITXVodPlayLi
void startPlayerVodPlayWithParams(int appId, String fileId, String psign) { void startPlayerVodPlayWithParams(int appId, String fileId, String psign) {
if (mVodPlayer != null) { if (mVodPlayer != null) {
if (null != mCurRenderView) {
mCurRenderView.setPlayer(this);
}
TXPlayInfoParams playInfoParams = new TXPlayInfoParams(appId, fileId, psign); TXPlayInfoParams playInfoParams = new TXPlayInfoParams(appId, fileId, psign);
mVodPlayer.startVodPlay(playInfoParams); mVodPlayer.startVodPlay(playInfoParams);
} }
......
package com.tencent.vod.flutter.tools; package com.tencent.vod.flutter.tools;
import android.text.TextUtils;
import com.tencent.liteav.base.util.LiteavLog; import com.tencent.liteav.base.util.LiteavLog;
import com.tencent.rtmp.TXVodConstants; import com.tencent.rtmp.TXVodConstants;
import com.tencent.rtmp.TXVodPlayConfig; import com.tencent.rtmp.TXVodPlayConfig;
......
...@@ -20,6 +20,7 @@ import android.os.Bundle; ...@@ -20,6 +20,7 @@ import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.IBinder; import android.os.IBinder;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.SurfaceView;
import android.view.TextureView; import android.view.TextureView;
import android.view.View; import android.view.View;
import android.view.Window; import android.view.Window;
...@@ -319,10 +320,12 @@ public class FlutterPipImplActivity extends Activity implements ITXVodPlayListen ...@@ -319,10 +320,12 @@ public class FlutterPipImplActivity extends Activity implements ITXVodPlayListen
} }
if (null != mPlayerHolder.getVodPlayer()) { if (null != mPlayerHolder.getVodPlayer()) {
mPlayerHolder.getVodPlayer().setSurface(null); mPlayerHolder.getVodPlayer().setSurface(null);
mPlayerHolder.getVodPlayer().setPlayerView((TXCloudVideoView) null);
mPlayerHolder.getVodPlayer().setVodListener(null); mPlayerHolder.getVodPlayer().setVodListener(null);
} }
if (null != mPlayerHolder.getLivePlayer()) { if (null != mPlayerHolder.getLivePlayer()) {
mPlayerHolder.getLivePlayer().setRenderView((TextureView) null); mPlayerHolder.getLivePlayer().setRenderView((TextureView) null);
mPlayerHolder.getLivePlayer().setRenderView((SurfaceView) null);
mPlayerHolder.getLivePlayer().setObserver(null); mPlayerHolder.getLivePlayer().setObserver(null);
} }
mPlayerHolder.pause(); mPlayerHolder.pause();
......
...@@ -74,8 +74,6 @@ class _DemoTXVodPlayerState extends State<DemoTXVodPlayer> with WidgetsBindingOb ...@@ -74,8 +74,6 @@ class _DemoTXVodPlayerState extends State<DemoTXVodPlayer> with WidgetsBindingOb
} }
}); });
await _controller.setLoop(true);
await _controller.enableHardwareDecode(enableHardware);
await _controller.setConfig(FTXVodPlayConfig()); await _controller.setConfig(FTXVodPlayConfig());
await _controller.setRenderMode(_renderMode); await _controller.setRenderMode(_renderMode);
if (!isLicenseSuc.isCompleted) { if (!isLicenseSuc.isCompleted) {
......
...@@ -536,6 +536,7 @@ static const int uninitialized = -1; ...@@ -536,6 +536,7 @@ static const int uninitialized = -1;
} }
- (void)setPlayerViewRenderViewId:(NSInteger)renderViewId error:(FlutterError * _Nullable __autoreleasing * _Nonnull)error { - (void)setPlayerViewRenderViewId:(NSInteger)renderViewId error:(FlutterError * _Nullable __autoreleasing * _Nonnull)error {
FTXLOGI(@"setPlayerView, renderViewId:%ld", renderViewId);
FTXRenderView *renderView = [self.renderViewFactory findViewById:renderViewId]; FTXRenderView *renderView = [self.renderViewFactory findViewById:renderViewId];
if (nil != renderView) { if (nil != renderView) {
self.curRenderView = renderView; self.curRenderView = renderView;
......
...@@ -1036,6 +1036,7 @@ static const int uninitialized = -1; ...@@ -1036,6 +1036,7 @@ static const int uninitialized = -1;
} }
- (void)setPlayerViewRenderViewId:(NSInteger)renderViewId error:(FlutterError * _Nullable __autoreleasing * _Nonnull)error { - (void)setPlayerViewRenderViewId:(NSInteger)renderViewId error:(FlutterError * _Nullable __autoreleasing * _Nonnull)error {
FTXLOGI(@"setPlayerView, renderViewId:%ld", renderViewId);
FTXRenderView *renderView = [self.renderViewFactory findViewById:renderViewId]; FTXRenderView *renderView = [self.renderViewFactory findViewById:renderViewId];
if (nil != renderView) { if (nil != renderView) {
self.curRenderView = renderView; self.curRenderView = renderView;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论