提交 56641ff3 authored 作者: kongdywang's avatar kongdywang

Fix the issue of restoration failure on some Android devices with PIP & update to 12.7.4

上级 678ae76d
#### Version: 12.7.4 2025.09.09
##### Features:
- Fix the issue of restoration failure on some Android devices with PIP
#### Version: 12.7.3 2025.09.03 #### Version: 12.7.3 2025.09.03
##### Features: ##### Features:
......
...@@ -5,7 +5,7 @@ buildLog() { ...@@ -5,7 +5,7 @@ buildLog() {
} }
inputVersion=$1 inputVersion=$1
export VERSION_NAME="12.7.3" export VERSION_NAME="12.7.4"
if [ -n "$inputVersion" ]; then if [ -n "$inputVersion" ]; then
VERSION_NAME=$inputVersion VERSION_NAME=$inputVersion
fi fi
......
...@@ -4,7 +4,7 @@ rootProject.ext { ...@@ -4,7 +4,7 @@ rootProject.ext {
supportSdkVersion = "26.0.1" supportSdkVersion = "26.0.1"
minSdkVersion = 19 minSdkVersion = 19
targetSdkVersion = 28 targetSdkVersion = 28
playerVersion = "12.7.3" playerVersion = "12.7.4"
compat = "androidx.appcompat:appcompat:1.6.1" compat = "androidx.appcompat:appcompat:1.6.1"
/** /**
......
...@@ -159,7 +159,7 @@ public class FTXLivePlayer extends FTXLivePlayerRenderHost implements TXFlutterL ...@@ -159,7 +159,7 @@ public class FTXLivePlayer extends FTXLivePlayerRenderHost implements TXFlutterL
} }
int startPlayerLivePlay(String url) { int startPlayerLivePlay(String url) {
LiteavLog.d(TAG, "startLivePlay:"); LiteavLog.i(TAG, "startLivePlay:");
if (null != mLivePlayer) { if (null != mLivePlayer) {
if (null != mCurRenderView) { if (null != mCurRenderView) {
mCurRenderView.setPlayer(this); mCurRenderView.setPlayer(this);
...@@ -177,6 +177,7 @@ public class FTXLivePlayer extends FTXLivePlayerRenderHost implements TXFlutterL ...@@ -177,6 +177,7 @@ public class FTXLivePlayer extends FTXLivePlayerRenderHost implements TXFlutterL
} }
int stopPlay(boolean isNeedClearLastImg) { int stopPlay(boolean isNeedClearLastImg) {
LiteavLog.i(TAG, "called stopPlay isNeedClearLastImg:" + isNeedClearLastImg);
int result = Uninitialized; int result = Uninitialized;
if (mLivePlayer != null) { if (mLivePlayer != null) {
mLastPlayEvent = -1; mLastPlayEvent = -1;
...@@ -201,6 +202,7 @@ public class FTXLivePlayer extends FTXLivePlayerRenderHost implements TXFlutterL ...@@ -201,6 +202,7 @@ public class FTXLivePlayer extends FTXLivePlayerRenderHost implements TXFlutterL
} }
void pausePlayer() { void pausePlayer() {
LiteavLog.i(TAG, "called pausePlayer");
if (mLivePlayer != null) { if (mLivePlayer != null) {
mLivePlayer.pauseVideo(); mLivePlayer.pauseVideo();
mLivePlayer.pauseAudio(); mLivePlayer.pauseAudio();
......
...@@ -330,8 +330,7 @@ public class FlutterPipImplActivity extends Activity implements ITXVodPlayListen ...@@ -330,8 +330,7 @@ public class FlutterPipImplActivity extends Activity implements ITXVodPlayListen
} }
mPlayerHolder.pause(); mPlayerHolder.pause();
int codeEvent = mIsNeedToStop ? FTXEvent.EVENT_PIP_MODE_ALREADY_EXIT : FTXEvent.EVENT_PIP_MODE_RESTORE_UI; int codeEvent = mIsNeedToStop ? FTXEvent.EVENT_PIP_MODE_ALREADY_EXIT : FTXEvent.EVENT_PIP_MODE_RESTORE_UI;
sendPipEvent(codeEvent, data); exitPip(codeEvent == FTXEvent.EVENT_PIP_MODE_ALREADY_EXIT, codeEvent, data);
exitPip(codeEvent == FTXEvent.EVENT_PIP_MODE_ALREADY_EXIT);
} }
@Override @Override
...@@ -433,7 +432,7 @@ public class FlutterPipImplActivity extends Activity implements ITXVodPlayListen ...@@ -433,7 +432,7 @@ public class FlutterPipImplActivity extends Activity implements ITXVodPlayListen
* Close immediately without delay. Generally, set it to `true` to close picture-in-picture * Close immediately without delay. Generally, set it to `true` to close picture-in-picture
* mode and `false` to restore picture-in-picture mode. * mode and `false` to restore picture-in-picture mode.
*/ */
private void exitPip(boolean closeImmediately) { private void exitPip(boolean closeImmediately, int codeEvent, Bundle data) {
if (mIsPipFinishing) { if (mIsPipFinishing) {
return; return;
} }
...@@ -445,16 +444,23 @@ public class FlutterPipImplActivity extends Activity implements ITXVodPlayListen ...@@ -445,16 +444,23 @@ public class FlutterPipImplActivity extends Activity implements ITXVodPlayListen
if (!closeImmediately) { if (!closeImmediately) {
mVideoRenderView.setVisibility(View.GONE); mVideoRenderView.setVisibility(View.GONE);
mVideoProgress.setVisibility(View.GONE); mVideoProgress.setVisibility(View.GONE);
/* mMainHandler.postDelayed(new Runnable() {
The PiP window can launch its own Activity. Therefore, @Override
we can initiate our own here. By executing the termination code during the launch, public void run() {
we can bring our own Activity back to the original AppTask and launch the original app. /*
Subsequently, when we end the Picture-in-Picture page, The PiP window can launch its own Activity. Therefore,
it can display back to the original page. we can initiate our own here. By executing the termination code during the launch,
*/ we can bring our own Activity back to the original AppTask and launch the original app.
moveCurActToFront(); Subsequently, when we end the Picture-in-Picture page,
it can display back to the original page.
*/
moveCurActToFront();
sendPipEvent(codeEvent, data);
}
}, 300);
} else { } else {
destroyPipAct(); destroyPipAct();
sendPipEvent(codeEvent, data);
} }
} }
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# #
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'super_player' s.name = 'super_player'
s.version = '12.7.3' s.version = '12.7.4'
s.summary = 'The super_player Flutter plugin is one of the sub-product SDKs of the audio/video terminal SDK (Tencent Cloud Video on Demand).' s.summary = 'The super_player Flutter plugin is one of the sub-product SDKs of the audio/video terminal SDK (Tencent Cloud Video on Demand).'
s.description = <<-DESC s.description = <<-DESC
player plugin. player plugin.
......
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
part of SuperPlayer; part of SuperPlayer;
abstract class FPlayerPckInfo { abstract class FPlayerPckInfo {
static const String PLAYER_VERSION = "12.7.3"; static const String PLAYER_VERSION = "12.7.4";
} }
\ No newline at end of file
name: super_player name: super_player
description: The super_player Flutter plugin is one of the sub-product SDKs of the audio/video terminal SDK (Tencent Cloud Video on Demand). description: The super_player Flutter plugin is one of the sub-product SDKs of the audio/video terminal SDK (Tencent Cloud Video on Demand).
version: 12.7.3 version: 12.7.4
homepage: https://github.com/LiteAVSDK/Player_Flutter homepage: https://github.com/LiteAVSDK/Player_Flutter
environment: environment:
......
...@@ -3,5 +3,5 @@ part of demo_super_player_lib; ...@@ -3,5 +3,5 @@ part of demo_super_player_lib;
class PlayerConstants { class PlayerConstants {
static const PKG_NAME = "superplayer_widget"; static const PKG_NAME = "superplayer_widget";
static const String PLAYER_WIDGET_VERSION = "12.7.3"; static const String PLAYER_WIDGET_VERSION = "12.7.4";
} }
name: superplayer_widget name: superplayer_widget
description: superplayer,base on vodplayer description: superplayer,base on vodplayer
version: 12.7.3 version: 12.7.4
environment: environment:
sdk: '>=2.17.0 <4.0.0' sdk: '>=2.17.0 <4.0.0'
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论