Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
tx_player_fork
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蒋俊
tx_player_fork
Commits
9a4b446b
Unverified
提交
9a4b446b
authored
9月 24, 2021
作者:
ozr的github
提交者:
GitHub
9月 24, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'tencentyun:main' into main
上级
be1899bc
ba13f0f5
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
99 行增加
和
15 行删除
+99
-15
SuperPlatformPlayerView.java
...ava/com/example/super_player/SuperPlatformPlayerView.java
+25
-11
SuperPlayerView.java
.../com/tencent/liteav/demo/superplayer/SuperPlayerView.java
+21
-0
SuperPlayer.java
...om/tencent/liteav/demo/superplayer/model/SuperPlayer.java
+18
-0
SuperPlayerImpl.java
...encent/liteav/demo/superplayer/model/SuperPlayerImpl.java
+22
-2
FullScreenPlayer.java
...t/liteav/demo/superplayer/ui/player/FullScreenPlayer.java
+7
-1
WindowPlayer.java
...ncent/liteav/demo/superplayer/ui/player/WindowPlayer.java
+6
-1
没有找到文件。
Flutter/android/src/main/java/com/example/super_player/SuperPlatformPlayerView.java
浏览文件 @
9a4b446b
package
com
.
example
.
super_player
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.view.View
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
...
...
@@ -12,10 +9,7 @@ import com.tencent.liteav.demo.superplayer.SuperPlayerGlobalConfig;
import
com.tencent.liteav.demo.superplayer.SuperPlayerModel
;
import
com.tencent.liteav.demo.superplayer.SuperPlayerVideoId
;
import
com.tencent.liteav.demo.superplayer.SuperPlayerView
;
import
com.tencent.liteav.demo.superplayer.model.SuperPlayer
;
import
com.tencent.liteav.demo.superplayer.model.entity.SuperPlayerVideoIdV2
;
import
com.tencent.rtmp.TXLiveBase
;
import
com.tencent.rtmp.TXLiveConstants
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -146,6 +140,22 @@ public class SuperPlatformPlayerView implements PlatformView, MethodChannel.Meth
Map
playConfig
=
call
.
argument
(
"config"
);
setPlayConfig
(
playConfig
);
result
.
success
(
null
);
}
else
if
(
call
.
method
.
equals
(
"disableGesture"
))
{
Boolean
enable
=
call
.
argument
(
"enable"
);
disableGesture
(
enable
);
result
.
success
(
null
);
}
else
if
(
call
.
method
.
equals
(
"setIsAutoPlay"
))
{
Boolean
enable
=
call
.
argument
(
"isAutoPlay"
);
setIsAutoPlay
(
enable
);
result
.
success
(
null
);
}
else
if
(
call
.
method
.
equals
(
"setStartTime"
))
{
Double
startTime
=
call
.
argument
(
"startTime"
);
setStartTime
(
startTime
);
result
.
success
(
null
);
}
else
if
(
call
.
method
.
equals
(
"setLoop"
))
{
Boolean
enable
=
call
.
argument
(
"loop"
);
setLoop
(
enable
);
result
.
success
(
null
);
}
else
{
result
.
notImplemented
();
}
...
...
@@ -216,18 +226,22 @@ public class SuperPlatformPlayerView implements PlatformView, MethodChannel.Meth
}
public
void
setIsAutoPlay
(
boolean
b
)
{
mSuperPlayerView
.
setIsAutoPlay
(
b
);
}
public
void
setStartTime
(
double
startTime
)
{
mSuperPlayerView
.
setStartTime
(
startTime
);
}
public
void
disableGesture
(
boolean
b
)
{
/**
* 关闭所有手势
* @param flag true为关闭手势,false为开启手势
*/
public
void
disableGesture
(
boolean
flag
)
{
mSuperPlayerView
.
disableGesture
(
flag
);
}
public
void
setLoop
(
boolean
b
)
{
mSuperPlayerView
.
setLoop
(
b
);
}
}
Flutter/example/android/superplayerkit/src/main/java/com/tencent/liteav/demo/superplayer/SuperPlayerView.java
浏览文件 @
9a4b446b
...
...
@@ -863,4 +863,25 @@ public class SuperPlayerView extends RelativeLayout {
TXCLog
.
e
(
TAG
,
Log
.
getStackTraceString
(
e
));
}
}
public
void
disableGesture
(
boolean
flag
)
{
if
(
null
!=
mFullScreenPlayer
)
{
mFullScreenPlayer
.
disableGesture
(
flag
);
}
if
(
null
!=
mWindowPlayer
)
{
mWindowPlayer
.
disableGesture
(
flag
);
}
}
public
void
setIsAutoPlay
(
boolean
b
)
{
mSuperPlayer
.
setAutoPlay
(
b
);
}
public
void
setStartTime
(
double
startTime
)
{
mSuperPlayer
.
setStartTime
((
float
)
startTime
);
}
public
void
setLoop
(
boolean
b
)
{
mSuperPlayer
.
setLoop
(
b
);
}
}
Flutter/example/android/superplayerkit/src/main/java/com/tencent/liteav/demo/superplayer/model/SuperPlayer.java
浏览文件 @
9a4b446b
...
...
@@ -136,4 +136,22 @@ public interface SuperPlayer {
* @param observer {@link SuperPlayerObserver}
*/
void
setObserver
(
SuperPlayerObserver
observer
);
/**
* 设置是否循环
* @param isLoop true循环,false不循环
*/
void
setLoop
(
boolean
isLoop
);
/**
* 设置开始时间
* @param startPos 开始时间
*/
void
setStartTime
(
float
startPos
);
/**
* 设置是否自动播放
* @param isAutoPlay true自动播放,false不自动播放
*/
void
setAutoPlay
(
boolean
isAutoPlay
);
}
Flutter/example/android/superplayerkit/src/main/java/com/tencent/liteav/demo/superplayer/model/SuperPlayerImpl.java
浏览文件 @
9a4b446b
...
...
@@ -66,11 +66,13 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
private
String
mCurrentPlayVideoURL
;
// 当前播放的URL
private
int
mSeekPos
;
// 记录切换硬解时的播放时间
private
float
mStartPos
;
// 视频开始播放时间
private
long
mReportLiveStartTime
=
-
1
;
// 直播开始时间,用于上报使用时长
private
long
mReportVodStartTime
=
-
1
;
// 点播开始时间,用于上报使用时长
private
long
mMaxLiveProgressTime
;
// 观看直播的最大时长
private
boolean
mIsAutoPlay
=
true
;
// 是否自动播放
private
boolean
mIsMultiBitrateStream
;
// 是否是多码流url播放
private
boolean
mIsPlayWithFileId
;
// 是否是腾讯云fileId播放
private
boolean
mDefaultQualitySet
;
// 标记播放多码流url时是否设置过默认画质
...
...
@@ -419,8 +421,8 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
}
if
(
mVodPlayer
!=
null
)
{
mDefaultQualitySet
=
false
;
mVodPlayer
.
setStartTime
(
0
);
mVodPlayer
.
setAutoPlay
(
true
);
mVodPlayer
.
setStartTime
(
mStartPos
);
mVodPlayer
.
setAutoPlay
(
mIsAutoPlay
);
mVodPlayer
.
setVodListener
(
this
);
String
drmType
=
"plain"
;
if
(
mCurrentProtocol
!=
null
)
{
...
...
@@ -898,4 +900,22 @@ public class SuperPlayerImpl implements SuperPlayer, ITXVodPlayListener, ITXLive
public
void
setObserver
(
SuperPlayerObserver
observer
)
{
mObserver
=
observer
;
}
@Override
public
void
setLoop
(
boolean
isLoop
)
{
mVodPlayer
.
setLoop
(
isLoop
);
}
@Override
public
void
setStartTime
(
float
startPos
)
{
this
.
mStartPos
=
startPos
;
mVodPlayer
.
setStartTime
(
startPos
);
}
@Override
public
void
setAutoPlay
(
boolean
isAutoPlay
)
{
this
.
mIsAutoPlay
=
isAutoPlay
;
mVodPlayer
.
setAutoPlay
(
isAutoPlay
);
}
}
Flutter/example/android/superplayerkit/src/main/java/com/tencent/liteav/demo/superplayer/ui/player/FullScreenPlayer.java
浏览文件 @
9a4b446b
...
...
@@ -111,6 +111,7 @@ public class FullScreenPlayer extends AbsPlayer implements View.OnClickListener,
private
VideoQuality
mDefaultVideoQuality
;
// 默认画质
private
List
<
VideoQuality
>
mVideoQualityList
;
// 画质列表
private
boolean
mFirstShowQuality
;
// 是都是首次显示画质信息
private
boolean
mIsOpenGesture
=
true
;
// 是否开启手势
public
FullScreenPlayer
(
Context
context
)
{
super
(
context
);
...
...
@@ -571,7 +572,7 @@ public class FullScreenPlayer extends AbsPlayer implements View.OnClickListener,
@Override
public
boolean
onTouchEvent
(
MotionEvent
event
)
{
if
(
mGestureDetector
!=
null
)
if
(
m
IsOpenGesture
&&
m
GestureDetector
!=
null
)
mGestureDetector
.
onTouchEvent
(
event
);
if
(!
mLockScreen
)
{
...
...
@@ -902,6 +903,11 @@ public class FullScreenPlayer extends AbsPlayer implements View.OnClickListener,
mVodQualityView
.
setVisibility
(
View
.
GONE
);
}
public
void
disableGesture
(
boolean
flag
)
{
this
.
mIsOpenGesture
=
!
flag
;
}
/**
* 隐藏锁屏按钮的runnable
*/
...
...
Flutter/example/android/superplayerkit/src/main/java/com/tencent/liteav/demo/superplayer/ui/player/WindowPlayer.java
浏览文件 @
9a4b446b
...
...
@@ -71,6 +71,7 @@ public class WindowPlayer extends AbsPlayer implements View.OnClickListener,
private
float
mWaterMarkBmpX
;
// 水印x坐标
private
float
mWaterMarkBmpY
;
// 水印y坐标
private
long
mLastClickTime
;
// 上次点击事件的时间
private
boolean
mIsOpenGesture
=
true
;
// 是否开启手势
public
WindowPlayer
(
Context
context
)
{
super
(
context
);
...
...
@@ -510,7 +511,7 @@ public class WindowPlayer extends AbsPlayer implements View.OnClickListener,
*/
@Override
public
boolean
onTouchEvent
(
MotionEvent
event
)
{
if
(
mGestureDetector
!=
null
)
if
(
m
IsOpenGesture
&&
m
GestureDetector
!=
null
)
mGestureDetector
.
onTouchEvent
(
event
);
if
(
event
.
getAction
()
==
MotionEvent
.
ACTION_UP
&&
mVideoGestureDetector
!=
null
&&
mVideoGestureDetector
.
isVideoProgressModel
())
{
...
...
@@ -636,4 +637,8 @@ public class WindowPlayer extends AbsPlayer implements View.OnClickListener,
}
postDelayed
(
mHideViewRunnable
,
7000
);
}
public
void
disableGesture
(
boolean
flag
)
{
this
.
mIsOpenGesture
=
!
flag
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论