Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
tx_player_fork
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蒋俊
tx_player_fork
Commits
221bb72f
提交
221bb72f
authored
1月 10, 2023
作者:
kongdywang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
upgrade pip docs
上级
cf8fdda8
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
29 行增加
和
19 行删除
+29
-19
README.md
Flutter/README.md
+1
-0
build.gradle
Flutter/android/build.gradle
+1
-1
播放器组件.md
Flutter/docs/播放器组件.md
+24
-13
集成指引.md
Flutter/docs/集成指引.md
+0
-2
demo_superplayer.dart
Flutter/example/lib/demo_superplayer.dart
+1
-1
super_player.podspec
Flutter/ios/super_player.podspec
+1
-1
txpip_controller.dart
Flutter/superplayer_widget/lib/tools/txpip_controller.dart
+1
-1
没有找到文件。
Flutter/README.md
浏览文件 @
221bb72f
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
├── ios // 播放器插件iOS源代码
├── ios // 播放器插件iOS源代码
├── lib // 播放器插件dart源代码
├── lib // 播放器插件dart源代码
├── docs // 帮助文档
├── docs // 帮助文档
├── superplayer_widget // 播放器组件
└── example // 播放器相关demo代码
└── example // 播放器相关demo代码
├── android // android的demo源代码
├── android // android的demo源代码
├── ios // iOS的demo源代码
├── ios // iOS的demo源代码
...
...
Flutter/android/build.gradle
浏览文件 @
221bb72f
group
'com.tencent.vod.flutter'
group
'com.tencent.vod.flutter'
apply
from:
'config.gradle'
apply
from:
'config.gradle'
version
'1
.0.3
'
version
'1
0.9.0
'
buildscript
{
buildscript
{
repositories
{
repositories
{
...
...
Flutter/docs/播放器组件.md
浏览文件 @
221bb72f
...
@@ -547,19 +547,7 @@ loader.getVideoData(model, (resultModel) {
...
@@ -547,19 +547,7 @@ loader.getVideoData(model, (resultModel) {
#### 1、安卓平台配置
#### 1、安卓平台配置
1.
1 在自己项目的android包下,找到 AndroidManifest.xml ,在项目入口activity节点下,增加如下配置
1.
1 在自己项目android包下,找到build.gradle,确保 compileSdkVersion 和 targetSdkVersion 的版本为31或以上
```
xml
android:supportsPictureInPicture="true"
android:resizeableActivity="true"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
// 在自己项目android包下,找到build.gralde,确认 compileSdkVersion 和 targetSdkVersion 的版本为31或以上
```
1.
2 继承pip activity
将github项目中example/android 中的 FTXFlutterPipActivity.java 复制到自己入口 Activity 的同目录下,并将自己 Activity 的父类修改为该类。
#### 2、iOS平台配置
#### 2、iOS平台配置
2.
1 在自己项目的target下选择Signing & Capabilities 添加Background Modes,勾选Audio,AirPlay,and Picture in Picture
2.
1 在自己项目的target下选择Signing & Capabilities 添加Background Modes,勾选Audio,AirPlay,and Picture in Picture
...
@@ -621,3 +609,26 @@ if(result == TXVodPlayEvent.NO_ERROR) {
...
@@ -621,3 +609,26 @@ if(result == TXVodPlayEvent.NO_ERROR) {
```
```
result的返回结果的含义和画中画模式错误码一致
result的返回结果的含义和画中画模式错误码一致
#### 7、使用画中画控制器管理画中画
画中画控制器TXPipController为superplayer_widget中封装的画中画工具,
**必须与SuperPlayerView搭配起来使用**
,进入画中画会自动关闭当前界面,并回调提前设置的监听方法,在回调的方法中可以保存播放器当前界面的必要参数。画中画还原之后,会重新将之前的界面push回来,并传递之前保存的参数。
使用该控制器的时候,画中画和播放器只能存在一个实例,当重新进入播放器界面的时候,画中画会自动关闭。
7.
1 在自己的项目的入口处,如main.dart,调用TXPipController设置画中画控制跳转,跳转的页面为用于进入画中画的播放器页面,
可根据自身项目情况设置不同的界面,代码实例如下:
```
dart
TXPipController
.
instance
.
setNavigatorHandle
((
params
)
{
navigatorKey
.
currentState
?.
push
(
MaterialPageRoute
(
builder:
(
_
)
=>
DemoSuperPlayer
(
initParams:
params
)));
});
```
7.
2 设置画中画的播放页面监听,需要实现
`TXPipPlayerRestorePage`
方法,设置之后,当即将进入画中画时,控制器会回调
`void onNeedSavePipPageState(Map<String, dynamic> params)`
方法,此时可以在params中存入当前页面需要的参数。
```
dart
TXPipController
.
instance
.
setPipPlayerPage
(
this
);
```
7.
3 随后,当用户点击SuperPlayerView上的进入画中画按钮的时候,会调用
`SuperPlayerView`
的
`_onEnterPipMode`
内部方法进入画中画,也可以自行调用
`SuperPlayerController`
的
`enterPictureInPictureMode`
方法进入。
Flutter/docs/集成指引.md
浏览文件 @
221bb72f
...
@@ -89,8 +89,6 @@ repositories {
...
@@ -89,8 +89,6 @@ repositories {
./gradlew build
./gradlew build
```
```
4.
如果需要使用 Android 画中画功能,需要集成 example 组件内 android 目录下的
`FTXFlutterPipActivity.java`
,以确保画中画能力正常使用
#### iOS 端配置
#### iOS 端配置
...
...
Flutter/example/lib/demo_superplayer.dart
浏览文件 @
221bb72f
...
@@ -41,7 +41,7 @@ class _DemoSuperPlayerState extends State<DemoSuperPlayer> with TXPipPlayerResto
...
@@ -41,7 +41,7 @@ class _DemoSuperPlayerState extends State<DemoSuperPlayer> with TXPipPlayerResto
// 监听设备旋转
// 监听设备旋转
SuperPlayerPlugin
.
startVideoOrientationService
();
SuperPlayerPlugin
.
startVideoOrientationService
();
_controller
=
SuperPlayerController
(
context
);
_controller
=
SuperPlayerController
(
context
);
TXPipController
.
instance
.
setPipPlayerPage
(
DemoSuperPlayer
,
this
);
TXPipController
.
instance
.
setPipPlayerPage
(
this
);
FTXVodPlayConfig
config
=
FTXVodPlayConfig
();
FTXVodPlayConfig
config
=
FTXVodPlayConfig
();
// 如果不配置preferredResolution,则在播放多码率视频的时候优先播放720 * 1280分辨率的码率
// 如果不配置preferredResolution,则在播放多码率视频的时候优先播放720 * 1280分辨率的码率
config
.
preferredResolution
=
720
*
1280
;
config
.
preferredResolution
=
720
*
1280
;
...
...
Flutter/ios/super_player.podspec
浏览文件 @
221bb72f
...
@@ -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
=
'1
.0.3
'
s
.
version
=
'1
0.9.0
'
s
.
summary
=
'player plugin.'
s
.
summary
=
'player plugin.'
s
.
description
=
<<-
DESC
s
.
description
=
<<-
DESC
player plugin.
player plugin.
...
...
Flutter/superplayer_widget/lib/tools/txpip_controller.dart
浏览文件 @
221bb72f
...
@@ -101,7 +101,7 @@ class TXPipController {
...
@@ -101,7 +101,7 @@ class TXPipController {
return
false
;
return
false
;
}
}
void
setPipPlayerPage
(
T
ype
a
,
T
XPipPlayerRestorePage
listener
)
{
void
setPipPlayerPage
(
TXPipPlayerRestorePage
listener
)
{
_onPipEnterListener
=
listener
;
_onPipEnterListener
=
listener
;
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论