Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
NotesChapter
GSYVideoPlayer
提交
58060059
G
GSYVideoPlayer
项目概览
NotesChapter
/
GSYVideoPlayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
8
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,体验更适合开发者的 AI 搜索 >>
提交
58060059
编写于
4月 28, 2017
作者:
S
shuyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加了暂停图片的开关 (2017-04-28)
上级
15f9a3ba
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
53 addition
and
10 deletion
+53
-10
README.md
README.md
+11
-0
UPDATE_VERSION.md
UPDATE_VERSION.md
+12
-0
app/src/main/java/com/example/gsyvideoplayer/DetailPlayer.java
...rc/main/java/com/example/gsyvideoplayer/DetailPlayer.java
+3
-2
app/src/main/java/com/example/gsyvideoplayer/PlayActivity.java
...rc/main/java/com/example/gsyvideoplayer/PlayActivity.java
+1
-0
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java
...rc/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java
+4
-3
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java
...va/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java
+21
-4
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/StandardGSYVideoPlayer.java
...om/shuyu/gsyvideoplayer/video/StandardGSYVideoPlayer.java
+1
-1
未找到文件。
README.md
浏览文件 @
58060059
...
...
@@ -107,7 +107,18 @@ dependencies {
*
修改了循环播放的UI问题
*
修改了本地文件或者已缓存文件,显示进度问题
*
GSYVideoType增加SCREEN_TYPE_FULL类型,通过按照比例裁减放大视频,达到全屏
*
增加setShowPauseCover接口
```
/**
* 是否需要加载显示暂停的cover图片
* 打开状态下,暂停退到后台,再回到前台不会显示黑屏,但可以对某些机型有概率出现OOM
* 关闭情况下,暂停退到后台,再回到前台显示黑屏
*
* @param showPauseCover 默认true
*/
public void setShowPauseCover(boolean showPauseCover)
```
### 1.6.4(2017-04-20)
*
update ijk to 0.7.9 (增加了soundTouch,调速后声音变调问题得到解决)
...
...
UPDATE_VERSION.md
浏览文件 @
58060059
...
...
@@ -4,6 +4,18 @@
*
修改了循环播放的UI问题
*
修改了本地文件或者已缓存文件,显示进度问题
*
GSYVideoType增加SCREEN_TYPE_FULL类型,通过按照比例裁减放大视频,达到全屏
*
增加setShowPauseCover接口
```
/**
* 是否需要加载显示暂停的cover图片
* 打开状态下,暂停退到后台,再回到前台不会显示黑屏,但可以对某些机型有概率出现OOM
* 关闭情况下,暂停退到后台,再回到前台显示黑屏
*
* @param showPauseCover 默认true
*/
public void setShowPauseCover(boolean showPauseCover)
```
### 1.6.4(2017-04-20)
*
update ijk to 0.7.9 (增加了soundTouch,调速后声音变调问题得到解决)
...
...
app/src/main/java/com/example/gsyvideoplayer/DetailPlayer.java
浏览文件 @
58060059
...
...
@@ -59,8 +59,9 @@ public class DetailPlayer extends AppCompatActivity {
//String url = "http://pl-ali.youku.com/playlist/m3u8?type=mp4&ts=1490185963&keyframe=0&vid=XMjYxOTQ1Mzg2MA==&ep=ciadGkiFU8cF4SvajD8bYyuwJiYHXJZ3rHbN%2FrYDAcZuH%2BrC6DPcqJ21TPs%3D&sid=04901859548541247bba8&token=0524&ctype=12&ev=1&oip=976319194";
//String url = "http://hls.ciguang.tv/hdtv/video.m3u8";
//String url = "https://res.exexm.com/cw_145225549855002";
detailPlayer
.
setUp
(
url
,
false
,
null
,
"测试视频"
);
detailPlayer
.
setLooping
(
true
);
detailPlayer
.
setUp
(
url
,
true
,
null
,
"测试视频"
);
//detailPlayer.setLooping(true);
//detailPlayer.setShowPauseCover(false);
/*VideoOptionModel videoOptionModel =
new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 5);
List<VideoOptionModel> list = new ArrayList<>();
...
...
app/src/main/java/com/example/gsyvideoplayer/PlayActivity.java
浏览文件 @
58060059
...
...
@@ -85,6 +85,7 @@ public class PlayActivity extends AppCompatActivity {
//增加title
videoPlayer
.
getTitleTextView
().
setVisibility
(
View
.
VISIBLE
);
videoPlayer
.
getTitleTextView
().
setText
(
"测试视频"
);
//videoPlayer.setShowPauseCover(false);
//videoPlayer.setSpeed(2f);
...
...
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java
浏览文件 @
58060059
...
...
@@ -127,6 +127,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
protected
boolean
mFirstTouch
=
false
;
//是否首次触摸
/**
* 当前UI
*/
...
...
@@ -707,7 +708,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
protected
void
showPauseCover
()
{
try
{
if
(
mCurrentState
==
CURRENT_STATE_PAUSE
&&
mFullPauseBitmap
!=
null
&&
!
mFullPauseBitmap
.
isRecycled
())
{
&&
!
mFullPauseBitmap
.
isRecycled
()
&&
mShowPauseCover
)
{
mCoverImageView
.
setRotation
(
mTextureView
.
getRotation
());
mCoverImageView
.
setImageBitmap
(
mFullPauseBitmap
);
mCoverImageView
.
setVisibility
(
VISIBLE
);
...
...
@@ -723,7 +724,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
protected
void
releasePauseCover
()
{
try
{
if
(
mCurrentState
!=
CURRENT_STATE_PAUSE
&&
mFullPauseBitmap
!=
null
&&
!
mFullPauseBitmap
.
isRecycled
())
{
&&
!
mFullPauseBitmap
.
isRecycled
()
&&
mShowPauseCover
)
{
mCoverImageView
.
setImageResource
(
R
.
drawable
.
empty_drawable
);
mCoverImageView
.
setVisibility
(
GONE
);
//如果在这里销毁,可能会draw a recycler bitmap error
...
...
@@ -740,7 +741,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
protected
void
releasePauseCoverAndBitmap
()
{
try
{
if
(
mCurrentState
!=
CURRENT_STATE_PAUSE
&&
mFullPauseBitmap
!=
null
&&
!
mFullPauseBitmap
.
isRecycled
())
{
&&
!
mFullPauseBitmap
.
isRecycled
()
&&
mShowPauseCover
)
{
mCoverImageView
.
setImageResource
(
R
.
drawable
.
empty_drawable
);
mCoverImageView
.
setVisibility
(
GONE
);
mFullPauseBitmap
.
recycle
();
...
...
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java
浏览文件 @
58060059
...
...
@@ -99,6 +99,8 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
protected
boolean
mIsTouchWigetFull
=
true
;
//是否支持全屏滑动触摸有效
protected
boolean
mShowPauseCover
=
true
;
//是否显示暂停图片
protected
Context
mContext
;
protected
String
mOriginUrl
;
//原来的url
...
...
@@ -363,6 +365,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
gsyVideoPlayer
.
mShrinkImageRes
=
mShrinkImageRes
;
gsyVideoPlayer
.
mEnlargeImageRes
=
mEnlargeImageRes
;
gsyVideoPlayer
.
mRotate
=
mRotate
;
gsyVideoPlayer
.
mShowPauseCover
=
mShowPauseCover
;
gsyVideoPlayer
.
setUp
(
mOriginUrl
,
mCache
,
mCachePath
,
mMapHeadData
,
mObjects
);
gsyVideoPlayer
.
setStateAndUi
(
mCurrentState
);
gsyVideoPlayer
.
addTextureView
();
...
...
@@ -461,7 +464,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
*/
private
void
pauseFullCoverLogic
()
{
if
(
mCurrentState
==
GSYVideoPlayer
.
CURRENT_STATE_PAUSE
&&
mTextureView
!=
null
&&
(
mFullPauseBitmap
==
null
||
mFullPauseBitmap
.
isRecycled
()))
{
&&
(
mFullPauseBitmap
==
null
||
mFullPauseBitmap
.
isRecycled
())
&&
mShowPauseCover
)
{
try
{
mFullPauseBitmap
=
mTextureView
.
getBitmap
(
mTextureView
.
getSizeW
(),
mTextureView
.
getSizeH
());
}
catch
(
Exception
e
)
{
...
...
@@ -477,12 +480,12 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
private
void
pauseFullBackCoverLogic
(
GSYBaseVideoPlayer
gsyVideoPlayer
)
{
//如果是暂停状态
if
(
gsyVideoPlayer
.
mCurrentState
==
GSYVideoPlayer
.
CURRENT_STATE_PAUSE
&&
gsyVideoPlayer
.
mTextureView
!=
null
)
{
&&
gsyVideoPlayer
.
mTextureView
!=
null
&&
mShowPauseCover
)
{
//全屏的位图还在,说明没播放,直接用原来的
if
(
gsyVideoPlayer
.
mFullPauseBitmap
!=
null
&&
!
gsyVideoPlayer
.
mFullPauseBitmap
.
isRecycled
())
{
&&
!
gsyVideoPlayer
.
mFullPauseBitmap
.
isRecycled
()
&&
mShowPauseCover
)
{
mFullPauseBitmap
=
gsyVideoPlayer
.
mFullPauseBitmap
;
}
else
{
}
else
if
(
mShowPauseCover
)
{
//不在了说明已经播放过,还是暂停的话,我们拿回来就好
try
{
mFullPauseBitmap
=
mTextureView
.
getBitmap
(
mTextureView
.
getSizeW
(),
mTextureView
.
getSizeH
());
...
...
@@ -805,4 +808,18 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
}
public
boolean
isShowPauseCover
()
{
return
mShowPauseCover
;
}
/**
* 是否需要加载显示暂停的cover图片
* 打开状态下,暂停退到后台,再回到前台不会显示黑屏,但可以对某些机型有概率出现OOM
* 关闭情况下,暂停退到后台,再回到前台显示黑屏
*
* @param showPauseCover 默认true
*/
public
void
setShowPauseCover
(
boolean
showPauseCover
)
{
this
.
mShowPauseCover
=
showPauseCover
;
}
}
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/StandardGSYVideoPlayer.java
浏览文件 @
58060059
...
...
@@ -622,7 +622,7 @@ public class StandardGSYVideoPlayer extends GSYVideoPlayer {
private
void
updatePauseCover
()
{
if
(
mFullPauseBitmap
==
null
||
mFullPauseBitmap
.
isRecycled
()
)
{
if
(
(
mFullPauseBitmap
==
null
||
mFullPauseBitmap
.
isRecycled
())
&&
mShowPauseCover
)
{
try
{
mFullPauseBitmap
=
mTextureView
.
getBitmap
(
mTextureView
.
getSizeW
(),
mTextureView
.
getSizeH
());
}
catch
(
Exception
e
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录