Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
NotesChapter
GSYVideoPlayer
提交
acf5815a
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 搜索 >>
提交
acf5815a
编写于
11月 24, 2016
作者:
S
shuyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.2.4
上级
8d67c12e
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
32 addition
and
35 deletion
+32
-35
README.md
README.md
+5
-2
app/src/main/java/com/example/gsyvideoplayer/DetailPlayer.java
...rc/main/java/com/example/gsyvideoplayer/DetailPlayer.java
+5
-8
dependencies.gradle
dependencies.gradle
+13
-12
gradle.properties
gradle.properties
+1
-1
gsyVideoPlayer/build.gradle
gsyVideoPlayer/build.gradle
+2
-1
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/utils/ListVideoUtil.java
...in/java/com/shuyu/gsyvideoplayer/utils/ListVideoUtil.java
+3
-8
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java
...va/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java
+3
-3
未找到文件。
README.md
浏览文件 @
acf5815a
...
@@ -17,13 +17,13 @@
...
@@ -17,13 +17,13 @@
<dependency>
<dependency>
<groupId>com.shuyu</groupId>
<groupId>com.shuyu</groupId>
<artifactId>gsyVideoPlayer</artifactId>
<artifactId>gsyVideoPlayer</artifactId>
<version>1.2.
3
</version>
<version>1.2.
4
</version>
<type>pom</type>
<type>pom</type>
</dependency>
</dependency>
```
```
```
```
compile 'com.shuyu:gsyVideoPlayer:1.2.
3
'
compile 'com.shuyu:gsyVideoPlayer:1.2.
4
'
```
```
## 效果,录屏下的屏幕旋转和实际有些出入
## 效果,录屏下的屏幕旋转和实际有些出入
...
@@ -43,6 +43,9 @@ compile 'com.shuyu:gsyVideoPlayer:1.2.3'
...
@@ -43,6 +43,9 @@ compile 'com.shuyu:gsyVideoPlayer:1.2.3'
*
<h4>
3、详情模式
</h4>
*
<h4>
3、详情模式
</h4>
<img
src=
"https://github.com/CarGuo/GSYVideoPlayer/blob/master/04.gif"
width=
"240px"
height=
"426px"
/>
<img
src=
"https://github.com/CarGuo/GSYVideoPlayer/blob/master/04.gif"
width=
"240px"
height=
"426px"
/>
### 1.2.4 兼容API修改只16,全屏动画兼容全API
### 1.2.3 增加了X86类型的依赖,个人可根据爱好在APP的build里面添加自己要的支持类型
### 1.2.3 增加了X86类型的依赖,个人可根据爱好在APP的build里面添加自己要的支持类型
arm64和-86_64的没有加入,如果需要自己添加即可,因为编译最低需要API21
arm64和-86_64的没有加入,如果需要自己添加即可,因为编译最低需要API21
...
...
app/src/main/java/com/example/gsyvideoplayer/DetailPlayer.java
浏览文件 @
acf5815a
package
com.example.gsyvideoplayer
;
package
com.example.gsyvideoplayer
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.os.Handler
;
import
android.os.Handler
;
import
android.support.v4.widget.NestedScrollView
;
import
android.support.v4.widget.NestedScrollView
;
import
android.support.v7.app.AppCompatActivity
;
import
android.support.v7.app.AppCompatActivity
;
import
android.transition.TransitionManager
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
...
@@ -14,6 +12,7 @@ import android.widget.RelativeLayout;
...
@@ -14,6 +12,7 @@ import android.widget.RelativeLayout;
import
com.shuyu.gsyvideoplayer.GSYVideoPlayer
;
import
com.shuyu.gsyvideoplayer.GSYVideoPlayer
;
import
com.shuyu.gsyvideoplayer.utils.OrientationUtils
;
import
com.shuyu.gsyvideoplayer.utils.OrientationUtils
;
import
com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer
;
import
com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer
;
import
com.transitionseverywhere.TransitionManager
;
import
butterknife.BindView
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.ButterKnife
;
...
@@ -88,9 +87,9 @@ public class DetailPlayer extends AppCompatActivity {
...
@@ -88,9 +87,9 @@ public class DetailPlayer extends AppCompatActivity {
private
void
toFull
()
{
private
void
toFull
()
{
isFull
=
true
;
isFull
=
true
;
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
TransitionManager
.
beginDelayedTransition
(
activityDetailPlayer
);
TransitionManager
.
beginDelayedTransition
(
activityDetailPlayer
);
}
setViewHeight
(
detailPlayer
,
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
setViewHeight
(
detailPlayer
,
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
ViewGroup
.
LayoutParams
.
MATCH_PARENT
);
ViewGroup
.
LayoutParams
.
MATCH_PARENT
);
resolveFullVideoUI
();
resolveFullVideoUI
();
...
@@ -104,9 +103,7 @@ public class DetailPlayer extends AppCompatActivity {
...
@@ -104,9 +103,7 @@ public class DetailPlayer extends AppCompatActivity {
new
Handler
().
postDelayed
(
new
Runnable
()
{
new
Handler
().
postDelayed
(
new
Runnable
()
{
@Override
@Override
public
void
run
()
{
public
void
run
()
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
TransitionManager
.
beginDelayedTransition
(
activityDetailPlayer
);
TransitionManager
.
beginDelayedTransition
(
activityDetailPlayer
);
}
setViewHeight
(
detailPlayer
,
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
setViewHeight
(
detailPlayer
,
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
(
int
)
getResources
().
getDimension
(
R
.
dimen
.
post_media_height
));
(
int
)
getResources
().
getDimension
(
R
.
dimen
.
post_media_height
));
}
}
...
...
dependencies.gradle
浏览文件 @
acf5815a
...
@@ -7,7 +7,7 @@ allprojects {
...
@@ -7,7 +7,7 @@ allprojects {
ext
{
ext
{
//Android
//Android
androidBuildToolsVersion
=
"23.0.1"
androidBuildToolsVersion
=
"23.0.1"
androidMinSdkVersion
=
1
9
androidMinSdkVersion
=
1
6
androidTargetSdkVersion
=
22
androidTargetSdkVersion
=
22
androidCompileSdkVersion
=
22
androidCompileSdkVersion
=
22
supportLibraryVersion
=
'24.2.0'
supportLibraryVersion
=
'24.2.0'
...
@@ -16,10 +16,10 @@ ext {
...
@@ -16,10 +16,10 @@ ext {
//ViewLibraries
//ViewLibraries
butterKnifeVersion
=
'8.2.1'
butterKnifeVersion
=
'8.2.1'
//ViewLibraries
butterKnifeVersion
=
'8.2.1'
ijkplayer
=
'0.7.4'
ijkplayer
=
'0.7.4'
transitionseverywhere
=
'1.7.0'
//DataLibraries
//DataLibraries
videocache
=
'2.6.3'
videocache
=
'2.6.3'
...
@@ -32,15 +32,16 @@ ext {
...
@@ -32,15 +32,16 @@ ext {
]
]
viewDependencies
=
[
viewDependencies
=
[
butterKnife
:
"com.jakewharton:butterknife:${butterKnifeVersion}"
,
butterKnife
:
"com.jakewharton:butterknife:${butterKnifeVersion}"
,
apt_butterKnife
:
"com.jakewharton:butterknife-compiler:${butterKnifeVersion}"
,
apt_butterKnife
:
"com.jakewharton:butterknife-compiler:${butterKnifeVersion}"
,
ijkplayer_java
:
"tv.danmaku.ijk.media:ijkplayer-java:${ijkplayer}"
,
ijkplayer_java
:
"tv.danmaku.ijk.media:ijkplayer-java:${ijkplayer}"
,
ijkplayer_armv7a:
"tv.danmaku.ijk.media:ijkplayer-armv7a:${ijkplayer}"
,
ijkplayer_armv7a
:
"tv.danmaku.ijk.media:ijkplayer-armv7a:${ijkplayer}"
,
ijkplayer_armv5
:
"tv.danmaku.ijk.media:ijkplayer-armv5:${ijkplayer}"
,
ijkplayer_armv5
:
"tv.danmaku.ijk.media:ijkplayer-armv5:${ijkplayer}"
,
ijkplayer_arm64
:
"tv.danmaku.ijk.media:ijkplayer-arm64:${ijkplayer}"
,
ijkplayer_arm64
:
"tv.danmaku.ijk.media:ijkplayer-arm64:${ijkplayer}"
,
ijkplayer_x86_64:
"tv.danmaku.ijk.media:ijkplayer-x86_64:${ijkplayer}"
,
ijkplayer_x86_64
:
"tv.danmaku.ijk.media:ijkplayer-x86_64:${ijkplayer}"
,
ijkplayer_x86
:
"tv.danmaku.ijk.media:ijkplayer-x86:${ijkplayer}"
,
ijkplayer_x86
:
"tv.danmaku.ijk.media:ijkplayer-x86:${ijkplayer}"
,
ijkplayer_exo
:
"tv.danmaku.ijk.media:ijkplayer-exo:${ijkplayer}"
,
ijkplayer_exo
:
"tv.danmaku.ijk.media:ijkplayer-exo:${ijkplayer}"
,
transitionseverywhere:
"com.andkulikov:transitionseverywhere:${transitionseverywhere}"
,
]
]
dataDependencies
=
[
dataDependencies
=
[
...
...
gradle.properties
浏览文件 @
acf5815a
...
@@ -18,7 +18,7 @@ org.gradle.jvmargs=-Xmx1536m
...
@@ -18,7 +18,7 @@ org.gradle.jvmargs=-Xmx1536m
BINTRAY_USER
=
BINTRAY_USER
=
BINTRAY_KEY
=
BINTRAY_KEY
=
PROJ_GROUP
=
com.shuyu
PROJ_GROUP
=
com.shuyu
PROJ_VERSION
=
1.2.
3
PROJ_VERSION
=
1.2.
4
PROJ_NAME
=
gsyVideo
PROJ_NAME
=
gsyVideo
PROJ_WEBSITEURL
=
hhttps://github.com/CarGuo/GSYVideoPlayer
PROJ_WEBSITEURL
=
hhttps://github.com/CarGuo/GSYVideoPlayer
PROJ_ISSUETRACKERURL
=
PROJ_ISSUETRACKERURL
=
...
...
gsyVideoPlayer/build.gradle
浏览文件 @
acf5815a
...
@@ -32,9 +32,10 @@ dependencies {
...
@@ -32,9 +32,10 @@ dependencies {
compile
viewDependencies
.
ijkplayer_armv5
compile
viewDependencies
.
ijkplayer_armv5
compile
viewDependencies
.
ijkplayer_x86
compile
viewDependencies
.
ijkplayer_x86
compile
viewDependencies
.
ijkplayer_exo
compile
viewDependencies
.
ijkplayer_exo
compile
viewDependencies
.
transitionseverywhere
compile
dataDependencies
.
videocache
compile
dataDependencies
.
videocache
compile
androidDependencies
.
support_v4
compile
androidDependencies
.
support_v4
compile
androidDependencies
.
appcompat_v7
compile
androidDependencies
.
appcompat_v7
}
}
//
apply from: '../bintray.gradle'
apply
from:
'../bintray.gradle'
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/utils/ListVideoUtil.java
浏览文件 @
acf5815a
...
@@ -4,21 +4,18 @@ import android.app.Activity;
...
@@ -4,21 +4,18 @@ import android.app.Activity;
import
android.content.Context
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.graphics.Color
;
import
android.graphics.Point
;
import
android.graphics.Point
;
import
android.os.Build
;
import
android.os.Handler
;
import
android.os.Handler
;
import
android.transition.TransitionManager
;
import
android.view.Gravity
;
import
android.view.Gravity
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.FrameLayout
;
import
android.widget.FrameLayout
;
import
com.shuyu.gsyvideoplayer.GSYVideoManager
;
import
com.shuyu.gsyvideoplayer.GSYVideoPlayer
;
import
com.shuyu.gsyvideoplayer.GSYVideoPlayer
;
import
com.shuyu.gsyvideoplayer.R
;
import
com.shuyu.gsyvideoplayer.R
;
import
com.shuyu.gsyvideoplayer.listener.StandardVideoAllCallBack
;
import
com.shuyu.gsyvideoplayer.listener.StandardVideoAllCallBack
;
import
com.shuyu.gsyvideoplayer.listener.VideoAllCallBack
;
import
com.shuyu.gsyvideoplayer.video.GSYBaseVideoPlayer
;
import
com.shuyu.gsyvideoplayer.video.GSYBaseVideoPlayer
;
import
com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer
;
import
com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer
;
import
com.transitionseverywhere.TransitionManager
;
import
static
com
.
shuyu
.
gsyvideoplayer
.
utils
.
CommonUtil
.
getActionBarHeight
;
import
static
com
.
shuyu
.
gsyvideoplayer
.
utils
.
CommonUtil
.
getActionBarHeight
;
import
static
com
.
shuyu
.
gsyvideoplayer
.
utils
.
CommonUtil
.
getStatusBarHeight
;
import
static
com
.
shuyu
.
gsyvideoplayer
.
utils
.
CommonUtil
.
getStatusBarHeight
;
...
@@ -60,8 +57,6 @@ public class ListVideoUtil {
...
@@ -60,8 +57,6 @@ public class ListVideoUtil {
public
ListVideoUtil
(
Context
context
)
{
public
ListVideoUtil
(
Context
context
)
{
gsyVideoPlayer
=
new
StandardGSYVideoPlayer
(
context
);
gsyVideoPlayer
=
new
StandardGSYVideoPlayer
(
context
);
this
.
context
=
context
;
this
.
context
=
context
;
int
smallVideoWidth
=
CommonUtil
.
getScreenWidth
(
context
)
/
2
-
CommonUtil
.
dip2px
(
context
,
20
);
int
smallVideoHeight
=
smallVideoWidth
*
3
/
4
;
}
}
/**
/**
...
@@ -172,7 +167,7 @@ public class ListVideoUtil {
...
@@ -172,7 +167,7 @@ public class ListVideoUtil {
resolveMaterialToNormal
(
gsyVideoPlayer
);
resolveMaterialToNormal
(
gsyVideoPlayer
);
}
}
});
});
if
(
showFullAnimation
&&
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
if
(
showFullAnimation
)
{
if
(
fullViewContainer
instanceof
FrameLayout
)
{
if
(
fullViewContainer
instanceof
FrameLayout
)
{
//目前只做了frameLoayout的判断
//目前只做了frameLoayout的判断
resolveMaterialAnimation
();
resolveMaterialAnimation
();
...
@@ -267,7 +262,7 @@ public class ListVideoUtil {
...
@@ -267,7 +262,7 @@ public class ListVideoUtil {
* 动画回到正常效果
* 动画回到正常效果
*/
*/
private
void
resolveMaterialToNormal
(
final
GSYVideoPlayer
gsyVideoPlayer
)
{
private
void
resolveMaterialToNormal
(
final
GSYVideoPlayer
gsyVideoPlayer
)
{
if
(
showFullAnimation
&&
fullViewContainer
instanceof
FrameLayout
&&
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
if
(
showFullAnimation
&&
fullViewContainer
instanceof
FrameLayout
)
{
int
delay
=
orientationUtils
.
backToProtVideo
();
int
delay
=
orientationUtils
.
backToProtVideo
();
handler
.
postDelayed
(
new
Runnable
()
{
handler
.
postDelayed
(
new
Runnable
()
{
@Override
@Override
...
...
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java
浏览文件 @
acf5815a
...
@@ -6,7 +6,6 @@ import android.graphics.Color;
...
@@ -6,7 +6,6 @@ import android.graphics.Color;
import
android.graphics.Point
;
import
android.graphics.Point
;
import
android.os.Build
;
import
android.os.Build
;
import
android.os.Handler
;
import
android.os.Handler
;
import
android.transition.TransitionManager
;
import
android.util.AttributeSet
;
import
android.util.AttributeSet
;
import
android.view.Gravity
;
import
android.view.Gravity
;
import
android.view.View
;
import
android.view.View
;
...
@@ -25,6 +24,7 @@ import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack;
...
@@ -25,6 +24,7 @@ import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack;
import
com.shuyu.gsyvideoplayer.utils.CommonUtil
;
import
com.shuyu.gsyvideoplayer.utils.CommonUtil
;
import
com.shuyu.gsyvideoplayer.utils.Debuger
;
import
com.shuyu.gsyvideoplayer.utils.Debuger
;
import
com.shuyu.gsyvideoplayer.utils.OrientationUtils
;
import
com.shuyu.gsyvideoplayer.utils.OrientationUtils
;
import
com.transitionseverywhere.TransitionManager
;
import
java.lang.reflect.Constructor
;
import
java.lang.reflect.Constructor
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -218,7 +218,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
...
@@ -218,7 +218,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
FrameLayout
frameLayout
=
new
FrameLayout
(
context
);
FrameLayout
frameLayout
=
new
FrameLayout
(
context
);
frameLayout
.
setBackgroundColor
(
Color
.
BLACK
);
frameLayout
.
setBackgroundColor
(
Color
.
BLACK
);
if
(
mShowFullAnimation
&&
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
if
(
mShowFullAnimation
)
{
FrameLayout
.
LayoutParams
lp
=
new
FrameLayout
.
LayoutParams
(
getWidth
(),
getHeight
());
FrameLayout
.
LayoutParams
lp
=
new
FrameLayout
.
LayoutParams
(
getWidth
(),
getHeight
());
lp
.
setMargins
(
mListItemRect
[
0
],
mListItemRect
[
1
],
0
,
0
);
lp
.
setMargins
(
mListItemRect
[
0
],
mListItemRect
[
1
],
0
,
0
);
frameLayout
.
addView
(
gsyVideoPlayer
,
lp
);
frameLayout
.
addView
(
gsyVideoPlayer
,
lp
);
...
@@ -291,7 +291,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
...
@@ -291,7 +291,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
final
GSYVideoPlayer
gsyVideoPlayer
;
final
GSYVideoPlayer
gsyVideoPlayer
;
if
(
oldF
!=
null
)
{
if
(
oldF
!=
null
)
{
gsyVideoPlayer
=
(
GSYVideoPlayer
)
oldF
;
gsyVideoPlayer
=
(
GSYVideoPlayer
)
oldF
;
if
(
mShowFullAnimation
&&
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
if
(
mShowFullAnimation
)
{
TransitionManager
.
beginDelayedTransition
(
vp
);
TransitionManager
.
beginDelayedTransition
(
vp
);
FrameLayout
.
LayoutParams
lp
=
(
FrameLayout
.
LayoutParams
)
gsyVideoPlayer
.
getLayoutParams
();
FrameLayout
.
LayoutParams
lp
=
(
FrameLayout
.
LayoutParams
)
gsyVideoPlayer
.
getLayoutParams
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录