Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_26386469
GSYVideoPlayer
提交
d466884f
G
GSYVideoPlayer
项目概览
qq_26386469
/
GSYVideoPlayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
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 搜索 >>
提交
d466884f
编写于
10月 26, 2017
作者:
G
guoshuyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
readme (2017-10-26)
上级
4f726a47
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
135 addition
and
2 deletion
+135
-2
09.gif
09.gif
+0
-0
README.md
README.md
+4
-1
app/src/main/java/com/example/gsyvideoplayer/DetailFilterActivity.java
...java/com/example/gsyvideoplayer/DetailFilterActivity.java
+79
-0
app/src/main/res/layout/activity_detail_filter.xml
app/src/main/res/layout/activity_detail_filter.xml
+52
-1
未找到文件。
09.gif
0 → 100644
浏览文件 @
d466884f
479.5 KB
README.md
浏览文件 @
d466884f
...
...
@@ -103,7 +103,10 @@ compile 'com.shuyu:gsyVideoPlayer-ex_so:2.1.1'
*
### 3、弹幕
<img
src=
"https://github.com/CarGuo/GSYVideoPlayer/blob/master/55.gif"
width=
"240px"
height=
"426px"
/>
*
### 4、进度条小窗口预览
*
### 4、滤镜和GL动画
<img
src=
"https://github.com/CarGuo/GSYVideoPlayer/blob/master/09.gif"
/>
*
### 5、进度条小窗口预览
<img
src=
"https://github.com/CarGuo/GSYVideoPlayer/blob/master/07.gif"
height=
"240px"
/>
## 五、近期版本
...
...
app/src/main/java/com/example/gsyvideoplayer/DetailFilterActivity.java
浏览文件 @
d466884f
...
...
@@ -20,6 +20,7 @@ import com.example.gsyvideoplayer.effect.PixelationEffect;
import
com.example.gsyvideoplayer.utils.CommonUtil
;
import
com.example.gsyvideoplayer.video.SampleControlVideo
;
import
com.shuyu.gsyvideoplayer.GSYBaseActivityDetail
;
import
com.shuyu.gsyvideoplayer.listener.GSYVideoGifSaveListener
;
import
com.shuyu.gsyvideoplayer.render.view.GSYVideoGLView
;
import
com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder
;
import
com.shuyu.gsyvideoplayer.render.effect.AutoFixEffect
;
...
...
@@ -49,9 +50,13 @@ import com.shuyu.gsyvideoplayer.render.effect.TintEffect;
import
com.shuyu.gsyvideoplayer.render.effect.VignetteEffect
;
import
com.shuyu.gsyvideoplayer.listener.GSYVideoShotListener
;
import
com.shuyu.gsyvideoplayer.listener.LockClickListener
;
import
com.shuyu.gsyvideoplayer.utils.Debuger
;
import
com.shuyu.gsyvideoplayer.utils.FileUtils
;
import
com.shuyu.gsyvideoplayer.utils.GSYVideoType
;
import
com.shuyu.gsyvideoplayer.utils.GifCreateHelper
;
import
com.shuyu.gsyvideoplayer.video.base.GSYBaseVideoPlayer
;
import
java.io.File
;
import
java.io.FileNotFoundException
;
import
java.util.Timer
;
import
java.util.TimerTask
;
...
...
@@ -87,6 +92,14 @@ public class DetailFilterActivity extends GSYBaseActivityDetail {
@BindView
(
R
.
id
.
change_anima
)
Button
anima
;
@BindView
(
R
.
id
.
start_gif
)
Button
startGif
;
@BindView
(
R
.
id
.
stop_gif
)
Button
stopGif
;
@BindView
(
R
.
id
.
loadingView
)
View
loadingView
;
private
int
type
=
0
;
...
...
@@ -112,6 +125,8 @@ public class DetailFilterActivity extends GSYBaseActivityDetail {
private
boolean
moveBitmap
=
false
;
private
GifCreateHelper
mGifCreateHelper
;
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
...
...
@@ -127,6 +142,8 @@ public class DetailFilterActivity extends GSYBaseActivityDetail {
initVideoBuilderMode
();
initGifHelper
();
detailPlayer
.
setLockClickListener
(
new
LockClickListener
()
{
@Override
public
void
onClick
(
View
view
,
boolean
lock
)
{
...
...
@@ -198,6 +215,28 @@ public class DetailFilterActivity extends GSYBaseActivityDetail {
moveBitmap = !moveBitmap;*/
}
});
startGif
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
startGif
();
}
});
stopGif
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
stopGif
();
}
});
loadingView
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
//do nothing
}
});
}
@Override
...
...
@@ -269,6 +308,46 @@ public class DetailFilterActivity extends GSYBaseActivityDetail {
}
private
void
initGifHelper
()
{
mGifCreateHelper
=
new
GifCreateHelper
(
detailPlayer
,
new
GSYVideoGifSaveListener
()
{
@Override
public
void
result
(
boolean
success
,
File
file
)
{
detailPlayer
.
post
(
new
Runnable
()
{
@Override
public
void
run
()
{
loadingView
.
setVisibility
(
View
.
GONE
);
Toast
.
makeText
(
detailPlayer
.
getContext
(),
"创建成功"
,
Toast
.
LENGTH_LONG
).
show
();
}
});
}
@Override
public
void
process
(
int
curPosition
,
int
total
)
{
Debuger
.
printfError
(
" current "
+
curPosition
+
" total "
+
total
);
}
});
}
/**
* 开始gif截图
*/
private
void
startGif
()
{
//开始缓存各个帧
mGifCreateHelper
.
startGif
(
new
File
(
FileUtils
.
getPath
()));
}
/**
* 生成gif
*/
private
void
stopGif
()
{
loadingView
.
setVisibility
(
View
.
VISIBLE
);
mGifCreateHelper
.
stopGif
(
new
File
(
FileUtils
.
getPath
(),
"GSY-Z-"
+
System
.
currentTimeMillis
()
+
".gif"
));
}
/**
* 加载第三秒的帧数作为封面
*/
...
...
app/src/main/res/layout/activity_detail_filter.xml
浏览文件 @
d466884f
...
...
@@ -35,8 +35,9 @@
android:layout_height=
"@dimen/post_media_height"
/>
<RelativeLayout
android:id=
"@+id/detail_player_control_1"
android:layout_width=
"match_parent"
android:layout_height=
"
match_par
ent"
android:layout_height=
"
wrap_cont
ent"
android:layout_below=
"@+id/detail_player"
>
<Button
...
...
@@ -64,4 +65,54 @@
</RelativeLayout>
<RelativeLayout
android:id=
"@+id/detail_player_control_2"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/detail_player_control_1"
>
<Button
android:id=
"@+id/start_gif"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_margin=
"10dp"
android:text=
"开始gif"
/>
<Button
android:id=
"@+id/stop_gif"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_margin=
"10dp"
android:layout_toRightOf=
"@+id/start_gif"
android:text=
"停止gif"
/>
</RelativeLayout>
<RelativeLayout
android:id=
"@+id/loadingView"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:visibility=
"gone"
android:background=
"#A0000000"
>
<ProgressBar
android:id=
"@+id/loading"
style=
"?android:attr/progressBarStyleLarge"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:layout_centerHorizontal=
"true"
android:layout_centerVertical=
"true"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/loading"
android:layout_centerHorizontal=
"true"
android:layout_centerVertical=
"true"
android:layout_marginTop=
"15dp"
android:text=
"处理中,请稍后"
android:textColor=
"#FFFFFF"
/>
</RelativeLayout>
</RelativeLayout>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录