Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ac13
GSYVideoPlayer
提交
cfdcef17
G
GSYVideoPlayer
项目概览
ac13
/
GSYVideoPlayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
GSYVideoPlayer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cfdcef17
编写于
7月 03, 2020
作者:
G
guoshuyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#2813
上级
b3a708f5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
90 addition
and
0 deletion
+90
-0
app/src/main/java/com/example/gsyvideoplayer/exo/GSYExo2PlayerView.java
...ava/com/example/gsyvideoplayer/exo/GSYExo2PlayerView.java
+90
-0
未找到文件。
app/src/main/java/com/example/gsyvideoplayer/exo/GSYExo2PlayerView.java
浏览文件 @
cfdcef17
...
...
@@ -10,6 +10,7 @@ import android.util.AttributeSet;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.WindowManager
;
import
android.widget.SeekBar
;
import
com.example.gsyvideoplayer.R
;
import
com.shuyu.gsyvideoplayer.model.GSYVideoModel
;
...
...
@@ -221,6 +222,95 @@ public class GSYExo2PlayerView extends StandardGSYVideoPlayer {
this
.
mExoCache
=
exoCache
;
}
@Override
public
void
onStopTrackingTouch
(
SeekBar
seekBar
)
{
if
(
mVideoAllCallBack
!=
null
&&
isCurrentMediaListener
())
{
if
(
isIfCurrentIsFullscreen
())
{
Debuger
.
printfLog
(
"onClickSeekbarFullscreen"
);
mVideoAllCallBack
.
onClickSeekbarFullscreen
(
mOriginUrl
,
mTitle
,
this
);
}
else
{
Debuger
.
printfLog
(
"onClickSeekbar"
);
mVideoAllCallBack
.
onClickSeekbar
(
mOriginUrl
,
mTitle
,
this
);
}
}
if
(
getGSYVideoManager
()
!=
null
&&
mHadPlay
)
{
/**增加这个可以实现拖动后重新播放*/
if
(!
isInPlayingState
())
{
setStateAndUi
(
CURRENT_STATE_PLAYING
);
addTextureView
();
}
try
{
int
time
=
seekBar
.
getProgress
()
*
getDuration
()
/
100
;
getGSYVideoManager
().
seekTo
(
time
);
}
catch
(
Exception
e
)
{
Debuger
.
printfWarning
(
e
.
toString
());
}
}
mHadSeekTouch
=
false
;
}
@Override
public
void
onAutoCompletion
()
{
setStateAndUi
(
CURRENT_STATE_AUTO_COMPLETE
);
mSaveChangeViewTIme
=
0
;
mCurrentPosition
=
0
;
if
(
mTextureViewContainer
.
getChildCount
()
>
0
)
{
mTextureViewContainer
.
removeAllViews
();
}
if
(!
mIfCurrentIsFullscreen
)
getGSYVideoManager
().
setLastListener
(
null
);
mAudioManager
.
abandonAudioFocus
(
onAudioFocusChangeListener
);
if
(
mContext
instanceof
Activity
)
{
try
{
((
Activity
)
mContext
).
getWindow
().
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
releaseNetWorkState
();
if
(
mVideoAllCallBack
!=
null
&&
isCurrentMediaListener
())
{
Debuger
.
printfLog
(
"onAutoComplete"
);
mVideoAllCallBack
.
onAutoComplete
(
mOriginUrl
,
mTitle
,
this
);
}
}
@Override
public
void
onCompletion
()
{
//make me normal first
setStateAndUi
(
CURRENT_STATE_NORMAL
);
mSaveChangeViewTIme
=
0
;
mCurrentPosition
=
0
;
if
(
mTextureViewContainer
.
getChildCount
()
>
0
)
{
mTextureViewContainer
.
removeAllViews
();
}
if
(!
mIfCurrentIsFullscreen
)
{
getGSYVideoManager
().
setListener
(
null
);
getGSYVideoManager
().
setLastListener
(
null
);
}
getGSYVideoManager
().
setCurrentVideoHeight
(
0
);
getGSYVideoManager
().
setCurrentVideoWidth
(
0
);
mAudioManager
.
abandonAudioFocus
(
onAudioFocusChangeListener
);
if
(
mContext
instanceof
Activity
)
{
try
{
((
Activity
)
mContext
).
getWindow
().
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_KEEP_SCREEN_ON
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
releaseNetWorkState
();
}
/**********以下重载GSYVideoPlayer的GSYVideoViewBridge相关实现***********/
@Override
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录