Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
tx_player_fork
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蒋俊
tx_player_fork
Commits
a5cd3cd8
提交
a5cd3cd8
authored
2月 10, 2023
作者:
kongdywang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix player component resolution change untimely in the case of adding video Repeatedly
上级
876a66bc
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
8 行增加
和
5 行删除
+8
-5
demo_superplayer.dart
Flutter/example/lib/demo_superplayer.dart
+1
-0
demo_txLiveplayer.dart
Flutter/example/lib/demo_txLiveplayer.dart
+2
-2
demo_txvodplayer.dart
Flutter/example/lib/demo_txvodplayer.dart
+2
-2
FTXVodPlayer.m
Flutter/ios/Classes/FTXVodPlayer.m
+1
-1
superplayer_controller.dart
Flutter/superplayer_widget/lib/superplayer_controller.dart
+2
-0
没有找到文件。
Flutter/example/lib/demo_superplayer.dart
浏览文件 @
a5cd3cd8
...
...
@@ -211,6 +211,7 @@ class _DemoSuperPlayerState extends State<DemoSuperPlayer> with TXPipPlayerResto
model
.
appId
=
appId
;
if
(
url
.
isNotEmpty
)
{
model
.
videoURL
=
url
;
model
.
coverUrl
=
DEFAULT_PLACE_HOLDER
;
playCurrentModel
(
model
,
0
);
_addVideoToCurrentList
(
model
);
}
else
if
(
appId
!=
0
&&
fileId
.
isNotEmpty
)
{
...
...
Flutter/example/lib/demo_txLiveplayer.dart
浏览文件 @
a5cd3cd8
...
...
@@ -82,8 +82,8 @@ class _DemoTXLivelayerState extends State<DemoTXLivePlayer> with WidgetsBindingO
}
void
_resizeVideo
(
Map
<
dynamic
,
dynamic
>
event
)
{
int
?
videoWidth
=
event
[
TXVodPlayEvent
.
EVT_
VIDEO_WIDTH
];
int
?
videoHeight
=
event
[
TXVodPlayEvent
.
EVT_
VIDEO_HEIGHT
];
int
?
videoWidth
=
event
[
TXVodPlayEvent
.
EVT_
PARAM1
];
int
?
videoHeight
=
event
[
TXVodPlayEvent
.
EVT_
PARAM2
];
if
((
videoWidth
!=
null
&&
videoWidth
!=
0
)
&&
(
videoHeight
!=
null
&&
videoHeight
!=
0
))
{
setState
(()
{
_aspectRatio
=
1.0
*
videoWidth
/
videoHeight
;
...
...
Flutter/example/lib/demo_txvodplayer.dart
浏览文件 @
a5cd3cd8
...
...
@@ -89,8 +89,8 @@ class _DemoTXVodPlayerState extends State<DemoTXVodPlayer>
}
void
_resizeVideo
(
Map
<
dynamic
,
dynamic
>
event
)
{
int
?
videoWidth
=
event
[
TXVodPlayEvent
.
EVT_
VIDEO_WIDTH
];
int
?
videoHeight
=
event
[
TXVodPlayEvent
.
EVT_
VIDEO_HEIGHT
];
int
?
videoWidth
=
event
[
TXVodPlayEvent
.
EVT_
PARAM1
];
int
?
videoHeight
=
event
[
TXVodPlayEvent
.
EVT_
PARAM2
];
if
((
videoWidth
!=
null
&&
videoWidth
!=
0
)
&&
(
videoHeight
!=
null
&&
videoHeight
!=
0
))
{
setState
(()
{
_aspectRatio
=
1.0
*
videoWidth
/
videoHeight
;
...
...
Flutter/ios/Classes/FTXVodPlayer.m
浏览文件 @
a5cd3cd8
...
...
@@ -524,7 +524,7 @@ static const int CODE_ON_RECEIVE_FIRST_FRAME = 2003;
}
dispatch_async
(
playerMainqueue
,
^
{
if
(
!
self
->
isVideoFirstFrameReceived
&&
nil
!=
pixelBuffer
)
{
[
self
->
_eventSink
success
:[
FTXVodPlayer
getParamsWithEvent
:
CODE_ON_RECEIVE_FIRST_FRAME
withParams
:@{
@"EVT_WIDTH"
:
@
(
self
->
videoWidth
.
intValue
),
@"EVT_HEIGHT"
:
@
(
self
->
videoHeight
.
intValue
)}]];
[
self
->
_eventSink
success
:[
FTXVodPlayer
getParamsWithEvent
:
CODE_ON_RECEIVE_FIRST_FRAME
withParams
:@{
@"EVT_WIDTH"
:
@
(
self
->
videoWidth
.
intValue
),
@"EVT_HEIGHT"
:
@
(
self
->
videoHeight
.
intValue
)
,
@"EVT_PARAM1"
:
@
(
self
->
videoWidth
.
intValue
),
@"EVT_PARAM2"
:
@
(
self
->
videoHeight
.
intValue
)
}]];
self
->
isVideoFirstFrameReceived
=
true
;
}
});
...
...
Flutter/superplayer_widget/lib/superplayer_controller.dart
浏览文件 @
a5cd3cd8
...
...
@@ -244,6 +244,8 @@ class SuperPlayerController {
void
_configVideoSize
(
Map
<
dynamic
,
dynamic
>
event
)
{
int
?
eventVideoWidth
=
event
[
TXVodPlayEvent
.
EVT_VIDEO_WIDTH
];
int
?
eventVideoHeight
=
event
[
TXVodPlayEvent
.
EVT_VIDEO_HEIGHT
];
eventVideoWidth
??=
event
[
TXVodPlayEvent
.
EVT_PARAM1
];
eventVideoHeight
??=
event
[
TXVodPlayEvent
.
EVT_PARAM2
];
if
(
eventVideoWidth
!=
null
&&
eventVideoWidth
!=
0
)
{
videoWidth
=
eventVideoWidth
.
toDouble
();
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论