Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
tx_player_fork
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蒋俊
tx_player_fork
Commits
6c5fa77a
提交
6c5fa77a
authored
12月 04, 2025
作者:
kongdywang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.fix the issue where getDownloadInfo does not return isResourceBroken
2.when adjusting the volume of UI components, the iOS end no longer seizes the audio focus 3.fix some logical issues with UI components
上级
d3359dfe
隐藏空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
51 行增加
和
22 行删除
+51
-22
CHANGELOG.md
Flutter/CHANGELOG.md
+13
-0
buildVersionOnMac.sh
Flutter/CI/buildVersionOnMac.sh
+1
-1
config.gradle
Flutter/android/config.gradle
+3
-2
FTXTextureRender.java
...encent/vod/flutter/player/render/gl/FTXTextureRender.java
+1
-1
demo_txvodplayer.dart
Flutter/example/lib/demo_txvodplayer.dart
+1
-1
pubspec.yaml
Flutter/example/pubspec.yaml
+5
-1
FTXAudioManager.m
Flutter/ios/Classes/FTXAudioManager.m
+0
-4
FTXDownloadManager.m
Flutter/ios/Classes/FTXDownloadManager.m
+1
-0
super_player.podspec
Flutter/ios/super_player.podspec
+2
-2
common_config.dart
Flutter/lib/Core/common/common_config.dart
+2
-1
txvoddownload_controller.dart
Flutter/lib/Core/txvoddownload_controller.dart
+1
-0
pubspec.yaml
Flutter/pubspec.yaml
+1
-1
player_constants.dart
...idget/superplayer_widget/lib/common/player_constants.dart
+1
-1
superplayer_controller.dart
...Widget/superplayer_widget/lib/superplayer_controller.dart
+12
-4
superplayer_widget.dart
...rWidget/superplayer_widget/lib/ui/superplayer_widget.dart
+1
-1
pubspec.yaml
FlutterWidget/superplayer_widget/pubspec.yaml
+6
-2
没有找到文件。
Flutter/CHANGELOG.md
浏览文件 @
6c5fa77a
#### Version: 12.9.1 2025.12.04
##### Features:
-
set Android TXLiteAVSDK to 12.9.0.19478
-
set iOS TXLiteAVSDK to 12.9.20085
-
fix the issue where getDownloadInfo does not return isResourceBroken
-
when adjusting the volume of UI components, the iOS end no longer seizes the audio focus
-
fix some logical issues with UI components
-
Fix known issue
#### Version: 12.9.0 2025.11.13
##### Features:
...
...
Flutter/CI/buildVersionOnMac.sh
浏览文件 @
6c5fa77a
...
...
@@ -5,7 +5,7 @@ buildLog() {
}
inputVersion
=
$1
export
VERSION_NAME
=
"12.9.
0
"
export
VERSION_NAME
=
"12.9.
1
"
if
[
-n
"
$inputVersion
"
]
;
then
VERSION_NAME
=
$inputVersion
fi
...
...
Flutter/android/config.gradle
浏览文件 @
6c5fa77a
...
...
@@ -4,7 +4,7 @@ rootProject.ext {
supportSdkVersion
=
"26.0.1"
minSdkVersion
=
19
targetSdkVersion
=
28
playerVersion
=
"12.9.
0
"
playerVersion
=
"12.9.
1
"
compat
=
"androidx.appcompat:appcompat:1.6.1"
/**
...
...
@@ -14,5 +14,5 @@ rootProject.ext {
Professional SDK: liteavSdk="com.tencent.liteav:LiteAVSDK_Professional:latest.release"
If you want to specify the SDK version(eg 11.7.0.13946), use: liteavSdk="com.tencent.liteav:LiteAVSDK_Player:11.7.0.13946"
*/
liteavSdk
=
"com.tencent.liteav:LiteAVSDK_Player:12.9.0.194
67
"
liteavSdk
=
"com.tencent.liteav:LiteAVSDK_Player:12.9.0.194
78
"
}
\ No newline at end of file
Flutter/android/src/main/java/com/tencent/vod/flutter/player/render/gl/FTXTextureRender.java
浏览文件 @
6c5fa77a
...
...
@@ -202,7 +202,7 @@ public class FTXTextureRender {
private
void
mergerMatrix
()
{
// reset
Matrix
.
setIdentityM
(
mResultMatrix
,
0
);
Matrix
.
multiplyMM
(
mResultMatrix
,
0
,
rotationMatrix
,
0
,
projectionMatrix
,
0
);
Matrix
.
multiplyMM
(
mResultMatrix
,
0
,
projectionMatrix
,
0
,
rotationMatrix
,
0
);
}
public
void
cleanDrawCache
()
{
...
...
Flutter/example/lib/demo_txvodplayer.dart
浏览文件 @
6c5fa77a
...
...
@@ -26,7 +26,7 @@ class _DemoTXVodPlayerState extends State<DemoTXVodPlayer> with WidgetsBindingOb
int
_volume
=
100
;
List
_supportedBitrates
=
[];
int
_curBitrateIndex
=
0
;
String
_url
=
"http://1500005830.vod2.myqcloud.com/43843ec0vodtranscq1500005830/48d0f1f9387702299774251236/adp.10.m3u8"
;
String
_url
=
"http
s
://1500005830.vod2.myqcloud.com/43843ec0vodtranscq1500005830/48d0f1f9387702299774251236/adp.10.m3u8"
;
TXPlayInfoParams
?
_videoParams
;
int
_appId
=
0
;
String
_fileId
=
""
;
...
...
Flutter/example/pubspec.yaml
浏览文件 @
6c5fa77a
...
...
@@ -16,7 +16,7 @@ dependencies:
flutter
:
sdk
:
flutter
flutter_easyloading
:
^
3.0.5
flutter_easyloading
:
3.0.5
super_player
:
# When depending on this package from a real application you should use:
...
...
@@ -33,6 +33,10 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons
:
^1.0.2
dependency_overrides
:
# force override flutter_easyloading dep
flutter_spinkit
:
5.1.0
dev_dependencies
:
flutter_test
:
sdk
:
flutter
...
...
Flutter/ios/Classes/FTXAudioManager.m
浏览文件 @
6c5fa77a
...
...
@@ -42,8 +42,6 @@ NSString *const NOTIFCATION_NAME = @"SystemVolumeDidChange";
{
// `showsVolumeSlider` needs to be set to YES.
volumeView
.
showsVolumeSlider
=
YES
;
// Get audio focus.
[
audioSession
setActive
:
true
error
:
nil
];
[
_volumeSlider
setValue
:
value
animated
:
NO
];
[
_volumeSlider
sendActionsForControlEvents
:
UIControlEventTouchUpInside
];
[
_volumeSlider
sizeToFit
];
...
...
@@ -51,8 +49,6 @@ NSString *const NOTIFCATION_NAME = @"SystemVolumeDidChange";
-
(
void
)
setVolumeUIVisible
:
(
BOOL
)
volumeUIVisible
{
// Get audio focus.
[
audioSession
setActive
:
true
error
:
nil
];
volumeView
.
hidden
=
!
volumeUIVisible
;
}
...
...
Flutter/ios/Classes/FTXDownloadManager.m
浏览文件 @
6c5fa77a
...
...
@@ -199,6 +199,7 @@
msg
.
playableDuration
=
@
(
info
.
playableDuration
);
msg
.
size
=
@
(
info
.
size
);
msg
.
downloadSize
=
@
(
info
.
downloadSize
);
msg
.
isResourceBroken
=
@
(
info
.
isResourceBroken
);
if
(
nil
!=
info
.
url
&&
info
.
url
.
length
>
0
)
{
msg
.
url
=
info
.
url
;
}
...
...
Flutter/ios/super_player.podspec
浏览文件 @
6c5fa77a
...
...
@@ -4,7 +4,7 @@
#
Pod
::
Spec
.
new
do
|
s
|
s
.
name
=
'super_player'
s
.
version
=
'12.9.
0
'
s
.
version
=
'12.9.
1
'
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
player plugin.
...
...
@@ -26,7 +26,7 @@ player plugin.
# Player_Premium SDK: s.dependency 'TXLiteAVSDK_Player_Premium'
# Professional SDK: s.dependency 'TXLiteAVSDK_Professional'
# If you want to specify the SDK version(eg 11.6.15041), use: s.dependency 'TXLiteAVSDK_Player','11.6.15041'
s
.
dependency
'TXLiteAVSDK_Player'
,
'12.9.200
63
'
s
.
dependency
'TXLiteAVSDK_Player'
,
'12.9.200
85
'
# s.dependency 'FTXPiPKit'
s
.
vendored_frameworks
=
[
'localdep/FTXPiPKit.xcframework'
...
...
Flutter/lib/Core/common/common_config.dart
浏览文件 @
6c5fa77a
...
...
@@ -2,5 +2,5 @@
part of
SuperPlayer
;
abstract
class
FPlayerPckInfo
{
static
const
String
PLAYER_VERSION
=
"12.9.
0
"
;
static
const
String
PLAYER_VERSION
=
"12.9.
1
"
;
}
\ No newline at end of file
Flutter/lib/Core/txvoddownload_controller.dart
浏览文件 @
6c5fa77a
...
...
@@ -219,6 +219,7 @@ class TXVodDownloadController implements TXDownloadFlutterAPI {
mediaInfo
.
size
=
msg
.
size
;
mediaInfo
.
downloadSize
=
msg
.
downloadSize
;
mediaInfo
.
url
=
msg
.
url
;
mediaInfo
.
isResourceBroken
=
msg
.
isResourceBroken
;
if
(
null
!=
msg
.
appId
)
{
TXVodDownloadDataSource
dataSource
=
TXVodDownloadDataSource
();
dataSource
.
appId
=
msg
.
appId
;
...
...
Flutter/pubspec.yaml
浏览文件 @
6c5fa77a
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).
version
:
12.9.
0
version
:
12.9.
1
homepage
:
https://github.com/LiteAVSDK/Player_Flutter
environment
:
...
...
FlutterWidget/superplayer_widget/lib/common/player_constants.dart
浏览文件 @
6c5fa77a
...
...
@@ -3,5 +3,5 @@ part of demo_super_player_lib;
class
PlayerConstants
{
static
const
PKG_NAME
=
"superplayer_widget"
;
static
const
String
PLAYER_WIDGET_VERSION
=
"12.9.
0
"
;
static
const
String
PLAYER_WIDGET_VERSION
=
"12.9.
1
"
;
}
FlutterWidget/superplayer_widget/lib/superplayer_controller.dart
浏览文件 @
6c5fa77a
...
...
@@ -363,9 +363,9 @@ class SuperPlayerController {
callResume
=
false
;
// Priority use URL to play
if
(
videoModel
.
videoURL
.
isNotEmpty
)
{
_playWithUrl
(
videoModel
);
await
_playWithUrl
(
videoModel
);
}
else
if
(
videoModel
.
videoId
!=
null
&&
(
videoModel
.
videoId
!.
fileId
.
isNotEmpty
))
{
_playWithField
(
videoModel
);
await
_playWithField
(
videoModel
);
}
}
...
...
@@ -373,6 +373,14 @@ class SuperPlayerController {
_setVodListener
();
await
_vodPlayerController
.
setToken
(
null
);
_updatePlayerType
(
SuperPlayerType
.
VOD
);
await
_vodPlayerController
.
setStartTime
(
startPos
);
if
(
_playAction
==
SuperPlayerModel
.
PLAY_ACTION_PRELOAD
)
{
await
_vodPlayerController
.
setAutoPlay
(
isAutoPlay:
false
);
_playAction
=
SuperPlayerModel
.
PLAY_ACTION_AUTO_PLAY
;
}
else
if
(
_playAction
==
SuperPlayerModel
.
PLAY_ACTION_AUTO_PLAY
||
_playAction
==
SuperPlayerModel
.
PLAY_ACTION_MANUAL_PLAY
)
{
await
_vodPlayerController
.
setAutoPlay
(
isAutoPlay:
true
);
}
if
(
_curViewId
>=
0
)
{
setPlayerView
(
_curViewId
);
}
...
...
@@ -438,7 +446,7 @@ class SuperPlayerController {
return
await
_vodPlayerController
.
getPlayableDuration
();
}
void
_playWithUrl
(
SuperPlayerModel
model
)
{
Future
<
void
>
_playWithUrl
(
SuperPlayerModel
model
)
async
{
List
<
VideoQuality
>
videoQualities
=
[];
VideoQuality
?
defaultVideoQuality
;
String
?
videoUrl
;
...
...
@@ -540,7 +548,7 @@ class SuperPlayerController {
/// Play live streaming
/// 播放直播URL
void
_playLiveURL
(
String
url
)
async
{
Future
<
void
>
_playLiveURL
(
String
url
)
async
{
_currentPlayUrl
=
url
;
_setLiveListener
();
if
(
_curViewId
>=
0
)
{
...
...
FlutterWidget/superplayer_widget/lib/ui/superplayer_widget.dart
浏览文件 @
6c5fa77a
...
...
@@ -700,7 +700,7 @@ class SuperPlayerViewState extends State<SuperPlayerView> with WidgetsBindingObs
int
playAction
=
_playController
.
videoModel
!.
playAction
;
if
(
playerState
==
SuperPlayerState
.
LOADING
&&
playAction
==
SuperPlayerModel
.
PLAY_ACTION_PRELOAD
)
{
_playController
.
resume
();
}
else
if
(
playerState
==
SuperPlayerState
.
INIT
)
{
}
else
if
(
playerState
==
SuperPlayerState
.
INIT
||
playerState
==
SuperPlayerState
.
START
)
{
if
(
playAction
==
SuperPlayerModel
.
PLAY_ACTION_PRELOAD
)
{
_playController
.
resume
();
}
else
if
(
playAction
==
SuperPlayerModel
.
PLAY_ACTION_MANUAL_PLAY
)
{
...
...
FlutterWidget/superplayer_widget/pubspec.yaml
浏览文件 @
6c5fa77a
name
:
superplayer_widget
description
:
superplayer,base on vodplayer
version
:
12.9.
0
version
:
12.9.
1
environment
:
sdk
:
'
>=2.17.0
<4.0.0'
...
...
@@ -12,7 +12,7 @@ dependencies:
# internationalization
flutter_localizations
:
sdk
:
flutter
flutter_easyloading
:
^
3.0.5
flutter_easyloading
:
3.0.5
super_player
:
# When depending on this package from a real application you should use:
...
...
@@ -22,6 +22,10 @@ dependencies:
# the parent directory to use the current plugin's version.
path
:
../../Flutter
dependency_overrides
:
# force override flutter_easyloading dep
flutter_spinkit
:
5.1.0
dev_dependencies
:
flutter_test
:
sdk
:
flutter
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论